如果是这个样子,那么这个方法有另外一个问题.就是当焦点不在jButton1上的时按Enter键也会执行
不会啊,你那里这样的效果吗?
我在这里试过了以后才发的代码呀。
两个按钮,一个添加了KeyListener 一个没有。
以下是测试代码。你看看
A是加了的,B没有加,你焦点在B上,按回车没效果呀。
import java.awt.BorderLayout;
public class A extends JFrame {
public A() {
JButton btnA = new JButton("A");
btnA.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("aaa");
}
}
});
btnA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("111");
}
});
getContentPane().add(btnA, BorderLayout.CENTER);
JButton btnB = new JButton("B");
btnB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("222");
}
});
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(270, 300);
setResizable(false);
getContentPane().add(btnB, BorderLayout.EAST);
setVisible(true);
}
public static void main(String[] args) {
new A();
}
}
2011年12月22日 09:57