【发布时间】:2014-03-27 23:27:39
【问题描述】:
我在使用 Swing 时遇到了问题,我试图了解 paintComponent 是如何工作的,但我只是不明白为什么在这种情况下它会被调用两次甚至三次(它似乎是随机调用给我的) .
package paintComponentTest;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class UI {
public static void main(String[] args) {
JFrame testFrame = new JFrame();
TestPanel testPanel = new TestPanel();
testFrame.setContentPane(testPanel);
testFrame.setSize(500, 500);
testFrame.setVisible(true);
}
}
class TestPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
System.out.println("Called");
}
}
我正在处理一个不同的项目,并且我的paintComponent 也被调用了几次,而我希望它只被调用一次,它会阻止我继续前进。
提前致谢!
【问题讨论】:
-
关于“为什么”你只希望
paintComponent被调用一次的更多信息将继续为你提供解决问题的方法,因为这不是绘画的方式工作(或可能工作)
标签: java swing jpanel paint paintcomponent