我知道当你添加/删除一个组件时,你需要revalidate()
然后repaint()
.但是,我正在改变多边形的状态.最初,显示图像,但是当我按下左右键时,图像不会移动.如果我移动窗口,gui会更新.按键时为什么不更新?
public class Terminos {
private LeftTermin ter;
private String[] commands = { "UP", "DOWN", "RIGHT", "LEFT" };
public Terminos() {
initComp();
}
public void initComp() {
JFrame jFrame = new JFrame();
jFrame.setSize(500, 500);
Component pane = new myPanel();
jFrame.add(pane);
ter = new LeftTermin(200, 200);
jFrame.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
System.out.println("r");
ter.moveR();
// Right arrow key code
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
System.out.println("l");
ter.moveL();
// Left …
Run Code Online (Sandbox Code Playgroud)