簡體   English   中英

調整大小或將鼠標懸停在Java上時,Java會重新繪制組件嗎?

[英]Does Java repaint the components when resize or mouse over?

我既不問如何使用Java swing,也不問有關使用布局管理器的建議。 我很好奇Java的行為方式。

一直以來,這都是一個神話,許多人推測,當您調整框架的大小時,Java會自動重新繪制組件, 或者將鼠標懸停在框架中的組件上。

所以我的問題是 :當我們執行上述操作之一時,Java是否會自動重繪?


有幾篇標題相似的文章,例如: Java在鼠標懸停時重繪組件。

但是沒有人能給出明確的答案,Java是否會根據某些用戶操作(例如調整大小和鼠標懸停)自動進行重新繪制。

一直以來,這都是一個神話,許多人推測

沒有神話或推測。

調整大小時會自動重新繪制組件的顏色

這是有道理的,因為調用了布局管理器,並且大小或位置可能會更改,這意味着某些組件可能需要重新粉刷。

當您將鼠標懸停在框架中的組件上時,會自動重新繪制組件。

這取決於組件。 如果已將MouseListener添加到組件中以進行特殊處理(即,將鼠標懸停在某個按鈕上),則可以重新繪制該組件,否則不會發生任何事情。 但是沒有默認繪畫,除非已將其專門添加為組件的UI的一部分。

這些問題很容易得到驗證。 只需重寫組件的paintCompent()方法即可在繪制組件時顯示一條消息,並查看會發生什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM