public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(Color.WHITE);
g2d.fillRect(0,0,getWidth(),getHeight());
...
}
swing重写paintComponent方法。
------解决方案--------------------
JPanel 默认是 opaque,所以如果 extends JPanel 的话,不用特别 setOpaque(true);
重写 paintComponent(Graphics),而不是 paint(Graphics)
在重写的方法中,第一句写 super.paintComponent(Graphics);
用 setBackground(Color.WHITE); 设置控件背景色为白色。
class DrawingPanel extends JPanel{
DrawingPanel() {
super.setBackground(Color.WHITE);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// ...
}
}
------解决方案--------------------
import javax.swing.*;
import java.awt.*;
import java.awt.even