如何解决为什么不应该在Jbutton.update上使用getGraphics?
我总是这样做
Jbutton.setEnabled(false);
Jbutton.update(Jbutton.getGraphics());
在禁用按钮时,但是有人告诉我Jbutton.update(Jbutton.getGraphics());
不应使用,或者至少不应该那样使用。为什么?效率不高吗?不对吗我应该改变我的方法吗?
解决方法
不应在Jbutton.update上使用getGraphics(),
实际上,它比那还宽。程序员切勿在任何getGraphics
(或AWT JComponent
)上使用Component
或在Swing(和AWT)窗口中使用相同的语言。
为什么?
因为API会在需要重绘时调用绘制方法(例如,从最小化还原窗口,将另一个窗口移至顶部或远离该窗口,使其移到最前面。)。
因此,任何使用getGraphics
的呼叫都是“瞬态”。
[Holger的评论中提到了进行自定义绘画的正确方法,但这不是问题。 ]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。