如何获取按钮的图标与当前状态相符?
问题描述:
我想扩展JButton
类并手动绘制按钮的图标,但我需要根据按钮所处的状态来获取正确的图标,我该怎么做?如何获取按钮的图标与当前状态相符?
方法getIcon()
返回默认图标而已,不管是什么状态下的按钮是...
答
getIcon()
将返回默认图标,但getDisabledIcon()
将返回禁用图标。
另外 getDisabledSelectedIcon()
返回按钮在禁用和选择时使用的图标。如果未设置禁用选择图标,则会将该调用转发给LookAndFeel,以便从选择图标(如果已设置)构建适当的禁用图标,否则将构建适当的禁用图标getDisabledIcon()。 某些外观可能不会呈现禁用选定的图标,在这种情况下,它们将忽略此选项。
然后有getPressedIcon()
,getRollOverIcon()
和getRolloverSelecedIcon()
。
检查AbstractButton手册页。
正如你所看到的,有很多选项可供你选择。另一方面,你可能是设置图标的人,所以如果你可以把它们放在一个Icon数组中,你可以从那里直接得到它们。
这可能不只是画一个区域,如果在该区域中单击了检查的MouseListener(XMIN XMAX YMIN YMAX之间)更难。你有没有试图获得屏幕像素读取功能? rgbArray = image.getRGB(startX,startY,w,h,rgbArray,offset,scansize); – 2013-05-12 15:25:53
不,它实际上并不难,尤其是当他们已经处理按钮状态位置布局等。 – 2013-05-12 15:27:47