java中paint是什么意思 java中paint()的具体用法是什么
大家好,感谢邀请,今天来为大家分享一下java中paint是什么意思的问题,以及和java中paint()的具体用法是什么的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
JAVA中Paint与paintComponent方法的区别是什么
Component.paint:绘制此组件。
应该绘制组件的内容时调用此方法;例如首次显示组件或者组件已损坏并需要修复时。Graphics参数中的矩形框设置为需要绘制的区域。重写此方法的 Component子类不需要调用 super.paint(g)。
出于性能的考虑,首次显示宽度或高度为 0的 Component时认为它不需要进行绘制,并且也不需要修复。
Container.paint:绘制容器。该方法将 paint转发给任意一个此容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.paint(g)方法,从而可以正确地呈现轻量级组件。如果通过 g中的当前剪切设置完全剪切某个子组件,则不会将 paint()转发给这个子组件。
Container.paintComponents:绘制此容器中的每个组件。
根据JAVA的API文档说,PAINT是CONTAINER提供的方法,只要容器需要重画的时候就会调用,而paintComponent则是JComponent所提供的方法,它是paint委托的一种重画组件的方法。我的想法是paint只会负责重画容器类的界面例如:Frame Dialog Window之类的,而在这些容器之上的组件则由paint委托paintComponent负责重画。
java中paint()的具体用法是什么
1、这个方法需要注意的地方不多,也就是重写时,先调用 super.paint(g)方法。paint方法不需要编写代码调用,只需要重写。
2、paint。public void paint(Graphics g)绘制容器。该方法将 paint转发给任意一个此容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.paint(g)方法,从而可以正确地呈现轻量级组件。如果通过 g中的当前剪切设置完全剪切某个子组件,则不会将 paint()转发给这个子组件。
3、调用paint的一般是repaint()或当显示器刷新的时候调用的类似repaint()的类。当对于桌面执行了某类操作,改变了桌面上的图象时,jvm收到界面被调整的信息,此时会调用visible是ture的图形组件的repaint()方法对界面重绘。
4、当然,直接重绘或全部重绘是很亏的,一个是用双缓存技术,另一个是只对桌面上显示的部分重绘。双缓存是指在缓存内先模拟重绘过程,只把最后成形的结果传给显示器显示。
Java JPanel中,repaint(),paint(),方法的区别
repaint方法调用时会向你的程序发送一个消息,要求重绘你的程序的窗口的无效区域。
但这个消息会首先保存到应用程序的消息队列,并不会马上得到处理。
每个图形用户界面应用程序都有一个消息循环,作用是不断地从应用程序消息队列提取各种消息并交由指定的方法进行处理。
所以,repaint方法的作用就是发送一个刷新窗口的消息到消息队列,而消息循环时如果提取到了这个repaint方法发送的消息,就会调用paint方法来处理这个消息。
即repaint只负责发送消息,而消息的处理是由paint方法完成的。
所以,应该重写paint方法,将绘图逻辑放置其中。
java中paint()的具体用法
这个方法需要注意的地方不多,也就是重写时,先调用 super.paint(g)方法
paint方法不需要编写代码调用,只需要重写。
其他看jdk帮助中就行了。
public void paint(Graphics g){
super.paint(g);//调用父类的paint方法或调用下面的方法直接绘制组件
g.drawImage(image, 0, 0, null);
g.setFont(new Font("", Font.BOLD, 13));
g.setColor(Color.WHITE);
}
paint
public void paint(Graphics g)绘制容器。该方法将 paint转发给任意一个此容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.paint(g)方法,从而可以正确地呈现轻量级组件。如果通过 g中的当前剪切设置完全剪切某个子组件,则不会将 paint()转发给这个子组件。
覆盖:
类 Component中的 paint
参数:
g-指定的 Graphics窗口
另请参见:
Component.update(Graphics)
java中paint是什么意思和java中paint()的具体用法是什么的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!