我想在我的程序中调用一个线程,该线程不断监视键盘,如果按下某个键,然后告诉我(system.out)。
问题是 KeyListener 接口必须具有焦点才能返回 keystate。 http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
是否有不同的方法来确定键盘上的按键状态?
我的目标是查看用户是否按下了 ctrl+n,如果是,则将系统剪贴板文本更新为某些内容。
代码:
class KeyboardWatcher extends Thread
{
boolean flag = false;
public void run()
{
while(!flag)
{
if (shift & n are pressed)
{
StringSelection stringSelection = new StringSelection("Clip Text");
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);
flag = true;
}
}
return;
}
}