2014-12-08 32 views
0

所以我搜索了Stackoverflow,但找不到任何我得到的实际答案。如果已经有这个问题的答案,请告诉我。在Java中创建一个actionlistener(?)

我有一个showDescription方法的类。这会打印一个字符串变量。

我需要在主方法中按下“d”键时调用此方法。那么,代码将实现按键按下事件?

+0

你不不需要ActionListener。你需要一个'DocumentListener'或者键绑定,这取决于你想要做什么。你想做什么? – BackSlash 2014-12-08 09:27:31

+0

好的。我认为我的问题很好地解释了需要什么,但无论如何:按下“d”键时,应该调用某个方法。 – LightMikeE 2014-12-08 09:37:27

+2

然后您需要[密钥绑定](https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) – BackSlash 2014-12-08 09:39:43

回答

1

做,如果你有一个Swing应用程序:

f.addKeyListener(new KeyListener() { 

      @Override 
      public void keyTyped(KeyEvent e) { 
      } 

      @Override 
      public void keyPressed(KeyEvent e) { 
       if ((e.getKeyCode() == KeyEvent.VK_D) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { 
        System.out.println("woot!"); 
       } 
      } 

      @Override 
      public void keyReleased(KeyEvent e) { 
      } 
     }); 

你可以阅读更多herehere

如果你有一个控制台应用程序,然后使用:

Read Input until control+d