我想创建一个JPanel
并在其上逐一绘制。我希望看到它们相继添加。问题是,我总是要等到一切完成后才用paintComponent
的方法。有没有办法实现我的愿望?提前致谢!一步一步在JPanel上绘图
package javapaintui;
import java.awt.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
class JavaPaintUI extends JFrame {
private JPanel jPanel2;
public JavaPaintUI() {
initComponents();
}
private void initComponents() {
jPanel2 = new Panel2();
this.setContentPane(jPanel2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
class Panel2 extends JPanel {
Panel2() {
setPreferredSize(new Dimension(420, 420));
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("BLAH", 20, 20);
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
Logger.getLogger(JavaPaintUI.class.getName()).log(Level.SEVERE, null, ex);
}
g.drawRect(200, 200, 200, 200);
}
}
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new JavaPaintUI().setVisible(true);
}
});
}
}
要添加到下面由HFoE回答,这里是一个'定时器'[示例](http://stackoverflow.com/a/22652258/2587435)重复添加随机对象。 –