我想编写一个代码,使一个正方形从面板的左侧移动到面板的右侧...我意识到您可以简单地让图像出现在代码块中,然后出现在下一段代码让图像被一个完全相同的正方形重叠,只是颜色与背景相同......为此我需要一个像代码这样的计时器来使图像出现,然后 1 秒后它得到over lapped 然后新图像就出现在它旁边
意识到 sleep.thread 不能很好地与 gui 一起工作,我正在求助于 Javax.Swing.Timer
我现在只想让它旁边出现一个框
但是我没有这方面的经验,需要一些帮助才能让它与我的代码一起工作 -安德鲁
{
g.setColor(Color.GREEN);
g.fillRect(50, 100, 100, 100); //first box on a red background
//Timer goes here
g.setColor(Color.RED);
g.fillRect(50, 100, 100, 100);//overlapps the first box
g.setColor(Color.GREEN);
g.fillRect(50, 110, 100, 100);//sets a new box right beside it
}
}
最佳答案
创建 javax.swing.Timer
实际上非常简单。您不必自己担心线程,因为调度会在后台线程中自动发生,但您实现的监听器代码是在 GUI 线程中执行的。因此,您可以在监听器主体中使用您需要的任何 Swing 组件。
int interval = 1000; // repeating every 1000 ms
new Timer(interval, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// do whatever painting that you want
}
}).start();
关于带有 GUI 的 Javax.swing.timer (Eclipse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13864385/