Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取按钮';s图标是否与当前状态一致?_Java_Swing_Icons_Jbutton - Fatal编程技术网

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);不,这其实并不难,特别是当他们已经处理了按钮、状态、位置、布局等。