我想扩展JButton
类并手动绘制按钮的图标,虽然我需要根据按钮所处的状态获取正确的图标,我该怎么做?
方法getIcon()
仅返回默认图标,无论按钮处于什么状态......
答案 0 :(得分:1)
相反,实现 Icon
接口。 ColorIcon
,here,是JButton
子类使用的简单示例。尝试为多种颜色中的每种颜色实例化ColorIcon
。使用Icon
实例作为按钮的按下或翻转图标来查看效果。另请参阅此相关example。
答案 1 :(得分:1)
getIcon()
将返回默认图标,但getDisabledIcon()
将返回已停用的图标。
另外
getDisabledSelectedIcon()
返回按钮禁用和选中时使用的图标。如果未设置禁用的选择图标,则会将调用转发到LookAndFeel以从选择图标中构建适当的禁用图标(如果已设置),否则为getDisabledIcon()。
一些外观可能无法呈现禁用的选定图标,在这种情况下,他们将忽略此。
然后有getPressedIcon()
,getRollOverIcon()
和getRolloverSelecedIcon()
。
查看AbstractButton手册页。
正如您所看到的,您可以使用许多选项。另一方面,您可能是设置图标的人,因此如果您将它们保存在Icon阵列中,您可以直接从那里获取它们。