我怎样才能这样做,当我在JTextField中输入时,它会激活一个特定的JButton?我的意思是网页表单中的某些内容,您可以按Enter键激活表单中的按钮。感谢。
答案 0 :(得分:13)
您应该Action
使用JButton
:
Action sendAction = new AbstractAction("Send") {
public void actionPerformed(ActionEvent e) {
// do something
}
};
JButton button = new JButton(sendAction);
如果您希望在菜单中提供相同的操作,则可以为JTextField
甚至MenuItem
设置相同的操作:
JTextField textField = new JTextField();
textField.setAction(sendAction);
答案 1 :(得分:7)
这样的事情应该有效:
textField.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
button.requestFocusInWindow();
}
});
答案 2 :(得分:4)
您可以通过向按钮添加default
行为来实现此目的,例如
cmdLogin.setDefaultCapable(true); // by default, this is true
this.getRootPane().setDefaultButton(cmdLogin); // here `this` is your parent container
答案 3 :(得分:3)
我会做以下事情:
textField.addKeyListener(
new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
button.doClick();
}
}
});
}