Java没有绘制所需的图形

时间:2013-10-03 18:03:09

标签: java swing graphics draw paintcomponent

这是一个非常简单的程序,它只是在弹出窗口中绘制一个白色矩形。该程序编译并运行没有问题,并且windoe弹出,但它没有任何内容,它只是灰色。为什么没有画画?

import java.awt.*;
import javax.swing.*;

public class DrawPanel extends JPanel {
    public void paintcompnent(Graphics g) {
        int width = getWidth();
        int height = getHeight();

        super.paintComponent(g);
        g.setColor(Color.WHITE);
        g.fillRect(10, 10, 200, 200);
    }

    public static void main(String[] args) {
        DrawPanel panel = new DrawPanel();
        JFrame window = new JFrame();
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.add(panel);
        window.setSize(550,550);
        window.setVisible(true);
    }
}

3 个答案:

答案 0 :(得分:1)

public void paintcompnent(Graphics g)

应该是

public void paintComponent(Graphics g)

答案 1 :(得分:1)

您尚未正确覆盖该方法。它应该是:

@Override
protected void paintComponent(Graphics g) {}

请注意使用@Override注释,这样可以防止您将来犯这个错误。

答案 2 :(得分:1)

修复重写的方法名称后,它仍然不会绘制任何内容,因为您将矩形填充为白色,然后在顶部绘制白线。您需要使用setColor()设置白色以外的其他内容才能看到这些行。