JPanel panel = new JPanel() {
private static final long serialVersionUID = 1L;
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(new Color(111, 0, 255));
g.fillOval(300, 300, 200, 200);
g.dispose();
};
};
为什么这会立即绘制,每次调整JFrame时都会绘制?
无论如何只有在我拨打panel.repaint();
时才能画画?
答案 0 :(得分:1)
仍然认为你错了。
我能想到的唯一可行解决方案是尝试使用:
JComponent.setIgnoreRepaint( true );
答案 1 :(得分:0)
尝试使用一些标志来确定条件是否符合
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(!ConditionMeet) return;
//some code to executed when condition meet
};