我有以下代码:
canvas=new MembershipFunctionComponent(functions);
canvas.setPreferredSize(new Dimension((int)this.getWidth(), (int)this.getHeight()));
canvas.addMouseListener(canvas);
pane.add(canvas);
MembsershipFunctionComponent 扩展了 JComponent。为什么 paintComponent 方法执行了 2 次?
最佳答案
paintComponent
几乎可以在任何时候被 Swing 框架调用。何时可能发生这种情况的示例:
- 任何时候调整组件的大小
- 任何时候显示组件的一部分(例如在可滚动窗口中)
- 任何时候在您的组件(或可能是父组件或子组件)上调用 repaint() 方法
- 任何时候布局发生变化
这些都不应该让您担心 - 您应该只编写代码,让它不关心调用 paintComponent 的次数。
关于java - 为什么 paintComponent 执行了 2 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355395/