矩形Java Swing单选按钮?

Nic*_*cue 5 java swing jbutton jradiobutton jtogglebutton

我想在Java Swing应用程序中创建一组按钮,就像在绘图程序中的典型工具调色板中一样.也就是说,一组小方形按钮,每个按钮都包含一个图标,其中只有一个被按下,当你按下另一个按钮时,第一个按钮被取消选择.我已经想到了许多解决方案,但它们似乎都不是很容易/优雅.

这听起来像JRadioButton的工作,但如果你添加一个Icon,你仍然会得到一个小圆圈,这是相当低效的空间.我想一个选择是为JRadioButton找到另一种外观和感觉或绘画代码.

另一个替代方案可能是将JButton添加到ButtonGroup,可能将JToggleButton.ToggleButtonModel设置为模型,但是没有所需的效果,因为标准JButton的绘制代码在选择时不会使其保持低调.可能会修改JButton代码来执行此操作.就像让它"按下"一样"选择"它.

第三种选择是使用普通的JButton,并添加一个常用的鼠标监听器,让它们保持按下或不按,并在按钮之间传递变化.

有人可以建议达到目标的最佳途径吗?我错过的一个简单的方法是最好的,但建议这三种选择中的哪一种最好,并指出如何开始也是有用的.

Rom*_*om1 9

怎么样一个普通JToggleButtonButtonGroup?它不是抽象的,你可以用一个实例化一个Icon,并在选择时保持低调.