|
|
1
2
我不知道这是哪个组件,但是在绘制例程中设置按钮图标是个坏主意。它肯定会导致按钮被重新油漆。如果按钮是组件的子级,那么设置按钮也会使组件无效,从而导致无限循环。 在其他地方设置图标,例如对话框/窗口的初始设置位置。 |
|
|
2
1
如果ImageIcon是另一个实例。
但是,在本例中,ResourceLoader(自定义类)返回了ImageIcon的新实例。当然是同一个图像,但这是另一个实例。如果你反编译代码,你会看到setIcon(至少对于JButtons),如果newIcon!=旧图标。 解决方案是在ResourceLoader中使用HashMap,这样可以避免多次加载图像,因为大多数图像使用非常频繁(如果可以的话,还可以重用实例)。结果表明,总的来说,这种快速调整还节省了相当多的内存消耗作为额外的奖励。 |
|
3
0
|
|
|
4
0
问题是您正在paintComponent()方法中设置图标。您不应该在此方法中设置属性。 Swing组件足够聪明,可以在属性更改时重新绘制自己。在这种情况下,您会遇到组件重新绘制自身的问题,因为图标会发生变化,但是每次组件重新绘制自身时,您都会重新读取图标,这也不是很有效。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |