如何获取与其所处当前状态对应的按钮图标?

时间:2013-05-12 15:23:06

标签: java swing icons jbutton

我想扩展JButton类并手动绘制按钮的图标,虽然我需要根据按钮所处的状态获取正确的图标,我该怎么做?

方法getIcon()仅返回默认图标,无论按钮处于什么状态......

2 个答案:

答案 0 :(得分:1)

相反,实现 Icon接口。 ColorIconhere,是JButton子类使用的简单示例。尝试为多种颜色中的每种颜色实例化ColorIcon。使用Icon实例作为按钮的按下或翻转图标来查看效果。另请参阅此相关example

答案 1 :(得分:1)

getIcon()将返回默认图标,但getDisabledIcon()将返回已停用的图标。

另外 getDisabledSelectedIcon()返回按钮禁用和选中时使用的图标。如果未设置禁用的选择图标,则会将调用转发到LookAndFeel以从选择图标中构建适当的禁用图标(如果已设置),否则为getDisabledIcon()。 一些外观可能无法呈现禁用的选定图标,在这种情况下,他们将忽略此。​​

然后有getPressedIcon()getRollOverIcon()getRolloverSelecedIcon()

查看AbstractButton手册页。

正如您所看到的,您可以使用许多选项。另一方面,您可能是设置图标的人,因此如果您将它们保存在Icon阵列中,您可以直接从那里获取它们。