我認爲我的標題很好地總結了我的問題。我對編程非常陌生(使用Head First Java進行大約2-3周的自我教學),並且我嘗試使用Action Listener在屏幕上來回移動,直到用戶終止程序。我的問題是我有一個Timer和2個類實現Action Listener。我可以讓它來回運行一次,但這就是我所能做到的。使用Java中的EventHandlers來回移動形狀
package Animation;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Window extends JPanel implements ActionListener{
int x = 100;
Timer timer = new Timer(5, this);
int velX = 2;
public void paintComponent(Graphics g){
super.paintComponent(g);
this.setBackground(Color.BLACK);
g.setColor(Color.BLUE);
g.fill3DRect(x, 150, 200, 200, true);
timer.start();
if(x >= 1000){
timer.addActionListener(new HandlerClass());
}//end if
}//end paintComponent
public void actionPerformed(ActionEvent e){
x += velX;
repaint();
}//end actionP method
public class HandlerClass implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(x >= 100){
x -= velX;
repaint();
}
}//end actionP
}//end Handler
}//end Window
我見過人們使用按鈕來搬東西來回或移動的東西的設定次數的問題,但我希望定時器做的一切,直到用戶退出。這樣用戶只需要觀看。我沒有將我的主要方法包括進來,因爲它只是設置了gui並稱爲這個類。
謝謝,它現在看到它應該如何工作更有意義。我想我過於複雜了。 – user5311076