1
我試圖讓「左剩餘時間」的整數遞減1並重新繪製每秒但我只能看到更改時調整不斷的窗口。我已經在Jcreator 3中在Windows和Ububtu 11.10命令行中嘗試了這一點,但它仍然不起作用。如果不重新調整應用程序窗口,Java窗口將不會更新
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
class StatusPanel extends JPanel implements ActionListener {
int time = 60;
int round = 1;
Timer timer;
public StatusPanel() {
this.timer = new Timer(1000, this);
this.timer.start();
this.setVisible(true);
this.setDoubleBuffered(true);
}
public void updateTime() {
if (time > 0) {
time--;
}
}
public void paint(Graphics page) {
super.paint(page);
page.setFont(new Font("TimesRoman", Font.PLAIN, 30));
String sTime = String.valueOf(time);
String sRound = String.valueOf(round);
page.setColor(Color.WHITE);
page.drawString(sTime, 253, 149);
page.drawString(sRound, 230, 105);
}
public void actionPerformed(ActionEvent event) {
this.updateTime();
}
}
從'updateTime'調用'repaint' – 2013-03-23 07:44:12
Yesss !!!!!謝謝。你一定已經猜到了,我仍然是java的noob。再次謝謝你! :) – 2013-03-23 07:48:16
坦率地說,我很驚訝,我沒有找到重複的問題。無論如何,看到這個:http://stackoverflow.com/questions/10768619/paint-and-repaint-in-java?rq=1 – 2013-03-23 07:54:53