为什么JFrame绘制图形三次而不是一次?

时间:2015-01-08 00:15:03

标签: java swing graphics jframe window

我制作了一个简单的程序,它描绘了一个蓝色的背景,并在重新绘制10次后变成红色,我注意到每当我运行程序时,它会在开始时三次绘制窗口,而不是一个?有谁知道为什么会这样做?

My MainClass:

package jframe_color;
import javax.swing.*;
import java.util.*;
import java.awt.*;
public class mainClass extends JFrame{

public static void main(String[] args) {

    PaintWindow SetPaint = new PaintWindow()

这是我的PaintWindow类:

package jframe_color;
import javax.swing.*;

import java.util.*;
import java.awt.*;
public class PaintWindow extends JFrame {

int count = 0;
public PaintWindow(){
    setSize(400,400);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void paint(Graphics g){
    super.paint(g);
    if (count < 10)
    {
        g.setColor(Color.BLUE);
        count += 1;
    }
    else
    {
        g.setColor(Color.RED);
    }
    g.fillRect(0,  0,  this.getWidth(), this.getHeight());
    g.setFont(new Font("Arial", Font.BOLD, 18));
    g.setColor(Color.BLACK);
    g.drawString("count is " + count, 100, 100);

0 个答案:

没有答案