2013-05-12 73 views
0

我想扩展JButton类并手动绘制按钮的图标,但我需要根据按钮所处的状态来获取正确的图标,我该怎么做?如何获取按钮的图标与当前状态相符?

方法getIcon()返回默认图标而已,不管是什么状态下的按钮是...

+0

这可能不只是画一个区域,如果在该区域中单击了检查的MouseListener(XMIN XMAX YMIN YMAX之间)更难。你有没有试图获得屏幕像素读取功能? rgbArray = image.getRGB(startX,startY,w,h,rgbArray,offset,scansize); – 2013-05-12 15:25:53

+0

不,它实际上并不难,尤其是当他们已经处理按钮状态位置布局等。 – 2013-05-12 15:27:47

回答

1

相反,实施Icon接口。 ColorIcon,图示为here,是由JButton子类使用的简单示例。尝试为多种颜色中的每一种实例化ColorIcon。使用Icon实例作为按钮的按下或翻转图标以查看效果。另见相关的example

1

getIcon()将返回默认图标,但getDisabledIcon()将返回禁用图标。

另外 getDisabledSelectedIcon()返回按钮在禁用和选择时使用的图标。如果未设置禁用选择图标,则会将该调用转发给LookAndFeel,以便从选择图标(如果已设置)构建适当的禁用图标,否则将构建适当的禁用图标getDisabledIcon()。 某些外观可能不会呈现禁用选定的图标,在这种情况下,它们将忽略此选项。

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

检查AbstractButton手册页。

正如你所看到的,有很多选项可供你选择。另一方面,你可能是设置图标的人,所以如果你可以把它们放在一个Icon数组中,你可以从那里直接得到它们。