我不确定“ paint”,但是我可以解释repaint()和paintComponent()之间的关系。
根据我在Java方面的有限经验,paintComponent()方法是JPanel类中的方法,并且是“ swing”的成员。
paintComponent()方法处理所有“绘画”。本质上,它使用Graphic对象将所需的任何内容绘制到JPanel中。
repaint()是所有JPanel对象的继承实例方法。调用[your_JPanel_object]
.repaint()会调用paintComponent()方法。
每次您希望更改JPanel的外观时,都必须调用repaint()。
某些 *** 作会自动调用repaint()方法:
- 调整窗口大小
- 最小化和最大化您的窗口
仅举几例。
IN SHORT
paintComponent()是在JPanel或扩展JPanel的自定义类中定义的方法。repaint()是在另一个类(例如Jframe)中调用的方法,该方法最终调用paintComponent()。
这是一个例子:
public class MyPanel extends JPanel{ public void paintComponent(Graphics g){ super.paintComponent(g); g.draw([whatever you want]); ... ... }}public class Myframe extends Jframe{ public Myframe(){ MyPanel myPanel = new MyPanel(); myPanel.repaint(); }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)