KeyBoard问题..?或其他..?
class KeyFrame extends JFrame{
public KeyFrame(){
KeyTest t = new KeyTest();
setContentPane(t);
this.setSize(700, 700);
setSize(300,300);
setVisible(true);
t.requestFocus();
}
}
public class KeyTest extends JPanel{
JLabel la = new JLabel("Input");
public KeyTest(){
add(la);
this.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
String data = e.getKeyText(e.getKeyCode());
la.setText(data + "Pressed");
if(e.getKeyCode() == KeyEvent.VK_F1){
setBackground(Color.GREEN);
}
else if(e.getKeyChar() == '%'){
setBackground(Color.YELLOW);
}
}
});
}
public static void main(String[] ar){
new KeyFrame();
}
}
答案 0 :(得分:0)
如果要为JLabel添加KeyListener。
注意:某些组件无法像JLabel那样具有可聚焦性。
你可以尝试那个。
确保组件的isFocusable方法返回true。此状态允许组件接收焦点。例如,您可以通过调用标签上的setFocusable(true)方法为JLabel组件启用键盘焦点。