我正在研究java中的GUI。现在,我正在编写一个关于按钮的小程序,我有一个问题。通常,我使用鼠标单击一个按钮,我设置了一个消息对话框,但现在,我想设置一个方法。在这个方法中,我使用KeyEvent
,我想按一个键,程序将自动选择按钮而不用鼠标。我使用了TextArea和TextField
,现在我想在没有TextArea
和TextField
的情况下使用此方法。
示例:当我单击按钮时,将显示消息对话框,而不是单击按钮,当我按 A 时,将出现消息对话框。
请帮帮我!
答案 0 :(得分:0)
您可以向KeyListener
添加JFrame
。 Here是一个很好的教程。
示例
让我们创建一个实现KeyListener
的类,让我们假设你有一个扩展JFrame
的类,名为Program
。
public class KeyMapper implements KeyListener
{
// Lots of methods will need to be written. I won't do them all.
private Program world;
public KeyMapper(Program world)
{
this.world = world;
}
/**
* This is the event that fires when a key is hit.
* @param e the event object passed when a key is hit.
* @Override
*/
public void keyTyped(KeyEvent e) {
if(e.getKeyChar() == 't') {
world.callMethod();
}
}
}
KeyMapper
现在只要t
被点击,就会在你的程序中调用一个方法。要将其添加到Program
,您可以使用以下行:
this.addKeyListener(new KeyMapper(this));
答案 1 :(得分:0)
对于更大的事件处理,我建议@Chris建议但是对于像你这样小的东西 - 也就是说,在keyPress上调用一个简单的方法,我个人会跟一个匿名的听众一起去
.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
//method call goes here
}
});