如何在java中不使用textfield或textarea获取keyevent?
我正在学习java中的GUI。现在,我正在编写一个关于button的小程序,我有一个问题。通常,我用鼠标点击一个按钮,然后设置一个消息对话框,但现在,我想设置一个方法。在这个方法中,我使用如何在java中不使用textfield或textarea获取keyevent?,java,keyevent,Java,Keyevent,我正在学习java中的GUI。现在,我正在编写一个关于button的小程序,我有一个问题。通常,我用鼠标点击一个按钮,然后设置一个消息对话框,但现在,我想设置一个方法。在这个方法中,我使用KeyEvent,我想按下一个键,程序将自动选择按钮而不使用鼠标。我已经使用了TextArea和TextField,现在我想在不使用TextArea和TextField的情况下使用这个方法。 示例:当我单击按钮时,将显示消息对话框。现在,当我按A时,将显示消息对话框,而不是单击按钮。 请帮帮我 您可以在JFra
KeyEvent
,我想按下一个键,程序将自动选择按钮而不使用鼠标。我已经使用了TextArea和TextField
,现在我想在不使用TextArea
和TextField
的情况下使用这个方法。
示例:当我单击按钮时,将显示消息对话框。现在,当我按A时,将显示消息对话框,而不是单击按钮。
请帮帮我 您可以在
JFrame
中添加KeyListener
。这是一个很好的教程
范例
让我们创建一个实现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
,就会调用程序中的方法。要将其添加到程序中
,可以使用以下行:
this.addKeyListener(new KeyMapper(this));
对于更大的事件处理,我建议使用@Chris的建议,但对于像您这样的小建议,例如,在keyPress上调用一个简单的方法,我个人会选择匿名侦听器
.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
//method call goes here
}
});
对不起,我不明白:(这是我程序的小程序查看器。它是扫雷游戏的模拟器:我的想法是用键盘而不是鼠标点击来选择按钮。你能给我你的facebook或电子邮件吗?请,我真的需要它!你能为我解释一下吗?