这是一个非常简单的程序,它只是在弹出窗口中绘制一个白色矩形。该程序编译并运行没有问题,并且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);
}
}
答案 0 :(得分:1)
public void paintcompnent(Graphics g)
应该是
public void paintComponent(Graphics g)
答案 1 :(得分:1)
您尚未正确覆盖该方法。它应该是:
@Override
protected void paintComponent(Graphics g) {}
请注意使用@Override
注释,这样可以防止您将来犯这个错误。
答案 2 :(得分:1)
修复重写的方法名称后,它仍然不会绘制任何内容,因为您将矩形填充为白色,然后在顶部绘制白线。您需要使用setColor()
设置白色以外的其他内容才能看到这些行。