我想知道如何能够将Java Swing中的JLabel更改为我按下的按钮,但我不知道我错过了什么。请帮忙。
最终看起来应该是在屏幕顶部显示按下的按键,并在按下时更新JLabel。不要担心Imports,我在实际代码中都有它们。谢谢:))
public class RandomFrame extends JFrame{
Dimension Size = new Dimension(800,800);
ListenForKeys LFK = new ListenForKeys();
JLabel JInput = new JLabel("");
JPanel P1 = new JPanel();
public static void main(String[] args) {
new RandomFrame();
}
public RandomFrame() {
super("RandomFrame");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(Size);
P1.add(JInput);
this.add(P1);
this.setVisible(true);
}
private class ListenForKeys implements KeyListener {
@Override
public void keyPressed(KeyEvent e) {
String Key = String.valueOf(e.getKeyChar());
JInput.setText(Key);
}
@Override
public void keyReleased(KeyEvent e) {}
@Override
public void keyTyped(KeyEvent e) {}
}
}
答案 0 :(得分:0)
Austin指出LFK并没有附加到任何东西上,当然,我使用this.addKeyListener(LFK)这一行将它添加到JFrame中,并且确实有效。谢谢:))