不应在 Jbutton.update 上使用 getGraphics(),为什么?
Shouldn't use getGraphics() on Jbutton.update, Why?
我总是这样
Jbutton.setEnabled(false);
Jbutton.update(Jbutton.getGraphics());
禁用按钮时,但有人告诉我不应该使用 Jbutton.update(Jbutton.getGraphics());
,或者至少不应该那样使用。为什么?效率不高吗?它不正确吗?我应该改变我的方法吗?
Shouldn't use getGraphics() on Jbutton.update,
实际上它比那更宽。程序员不应该在任何 JComponent
(或 AWT Component
)或 Swing(和 AWT)windows.
上使用 getGraphics
Why?
因为绘制方法由 API 调用,每当它觉得需要重新绘制时(例如,将 window 从最小化恢复,将另一个 window 移到顶部或移开来自 window,将其置于前面 ..)。
所以任何使用 getGraphics
的调用都是 'transient'。
[Holger 的评论中提到了自定义绘画的正确方法,但这不是问题所在。 ]
我总是这样
Jbutton.setEnabled(false);
Jbutton.update(Jbutton.getGraphics());
禁用按钮时,但有人告诉我不应该使用 Jbutton.update(Jbutton.getGraphics());
,或者至少不应该那样使用。为什么?效率不高吗?它不正确吗?我应该改变我的方法吗?
Shouldn't use getGraphics() on Jbutton.update,
实际上它比那更宽。程序员不应该在任何 JComponent
(或 AWT Component
)或 Swing(和 AWT)windows.
getGraphics
Why?
因为绘制方法由 API 调用,每当它觉得需要重新绘制时(例如,将 window 从最小化恢复,将另一个 window 移到顶部或移开来自 window,将其置于前面 ..)。
所以任何使用 getGraphics
的调用都是 'transient'。
[Holger 的评论中提到了自定义绘画的正确方法,但这不是问题所在。 ]