Java 如何获取按钮';s图标是否与当前状态一致?
我想扩展Java 如何获取按钮';s图标是否与当前状态一致?,java,swing,icons,jbutton,Java,Swing,Icons,Jbutton,我想扩展JButton类并手动绘制按钮的图标,尽管我需要根据按钮所处的状态获取正确的图标,但我该如何做 方法getIcon()仅返回默认图标,而不管按钮处于什么状态…相反,实现图标界面ColorIcon是一个由JButton子类使用的简单示例。尝试为几种颜色中的每一种实例化ColorIcon。使用图标实例作为按钮的按下或滚动图标以查看效果。另请参见此相关信息。getIcon()将返回默认图标,但getDisabledIcon()将返回禁用的图标 也 getDisabledSelectedIcon
JButton
类并手动绘制按钮的图标,尽管我需要根据按钮所处的状态获取正确的图标,但我该如何做
方法getIcon()
仅返回默认图标,而不管按钮处于什么状态…相反,实现图标界面ColorIcon
是一个由JButton
子类使用的简单示例。尝试为几种颜色中的每一种实例化ColorIcon
。使用图标
实例作为按钮的按下或滚动图标以查看效果。另请参见此相关信息。getIcon()
将返回默认图标,但getDisabledIcon()
将返回禁用的图标
也
getDisabledSelectedIcon()
返回按钮禁用和选中时使用的图标。如果未设置禁用的选择图标,则会将调用转发给LookAndFeel,以根据已设置的选择图标构造适当的禁用图标,否则将调用getDisabledIcon()。
某些外观可能不会呈现禁用的选定图标,在这种情况下,它们将忽略此选项
然后是getPressedIcon()
,getRollOverIcon()
和getRolloverSelecedIcon()
检查手册页面
正如你所看到的,你有很多选择。另一方面,您可能是设置图标的人,因此如果您可以将它们保存在图标数组中,您可以直接从那里获取它们 这可能比仅仅绘制一个区域并在点击该区域(xmin-xmax-ymin-ymax之间)时检查鼠标侦听器更难。您是否尝试获取屏幕像素读取功能?rgbArray=image.getRGB(startX、startY、w、h、rgbArray、offset、scansize);不,这其实并不难,特别是当他们已经处理了按钮、状态、位置、布局等。