Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在调整大小或鼠标悬停时是否重新绘制组件?_Java_Swing_Repaint - Fatal编程技术网

Java在调整大小或鼠标悬停时是否重新绘制组件?

Java在调整大小或鼠标悬停时是否重新绘制组件?,java,swing,repaint,Java,Swing,Repaint,我不是在问如何使用JavaSwing,也不是在问关于使用布局管理器的建议。我只是好奇Java的行为 一直以来,这都是一个神话,许多人推测,当您调整框架大小时,Java会自动重新绘制组件,或者将鼠标移到框架中的组件上 所以我的问题是:当我们执行上述操作之一时,Java是否会自动重新绘制 有几篇文章标题类似,如: 但是,没有人能够给出一个明确的答案:Java是否会在某些用户操作(如调整大小和鼠标悬停)时自动重新绘制 一直以来,这是一个神话,许多人猜测 没有神话或猜测 调整大小时自动重新绘制零部件

我不是在问如何使用JavaSwing,也不是在问关于使用布局管理器的建议。我只是好奇Java的行为

一直以来,这都是一个神话,许多人推测,当您调整框架大小时,Java会自动重新绘制组件,或者将鼠标移到框架中的组件上

所以我的问题是:当我们执行上述操作之一时,Java是否会自动重新绘制


有几篇文章标题类似,如:

但是,没有人能够给出一个明确的答案:Java是否会在某些用户操作(如调整大小和鼠标悬停)时自动重新绘制

一直以来,这是一个神话,许多人猜测

没有神话或猜测

调整大小时自动重新绘制零部件

这是有意义的,因为会调用布局管理器,并且大小或位置可能会更改,这意味着某些组件可能需要重新绘制

当鼠标悬停在框架中的组件上时,自动重新绘制组件

这取决于组件。如果组件中添加了鼠标侦听器以进行特殊处理(即翻转按钮),则可以重新绘制组件,否则不会发生任何情况。但是没有默认的绘制,除非它是作为组件UI的一部分专门添加的

这些问题很容易被证实。只需重写组件的
paintCompent()
方法,即可在绘制组件时显示一条消息,并查看发生了什么

一直以来,这是一个神话,许多人猜测

没有神话或猜测

调整大小时自动重新绘制零部件

这是有意义的,因为会调用布局管理器,并且大小或位置可能会更改,这意味着某些组件可能需要重新绘制

当鼠标悬停在框架中的组件上时,自动重新绘制组件

这取决于组件。如果组件中添加了鼠标侦听器以进行特殊处理(即翻转按钮),则可以重新绘制组件,否则不会发生任何情况。但是没有默认的绘制,除非它是作为组件UI的一部分专门添加的


这些问题很容易被证实。只需重写组件的
paintCompent()
方法,以便在绘制组件时显示一条消息,并查看发生了什么情况。

我使用一些println语句重写了repaint()方法和paintComponent()方法,但即使调整框架大小,它也不会显示任何内容。您确定
应用程序触发的
绘制正在使用paintComponent()而不是其他方法吗?是。您是否阅读了问题初始评论中提供的链接?您还可以阅读上的Swing教程中的部分。我用一些println语句覆盖了repain()方法和paintComponent()方法,但即使在调整帧大小时,它也不会显示任何内容。您确定
应用程序触发的
绘制正在使用paintComponent()而不是其他方法吗?是。您是否阅读了问题初始评论中提供的链接?您还可以阅读上的Swing教程中的部分。张贴你的文章,说明问题所在。