我想在 Java Swing 应用程序中创建一组按钮,就像您在绘画程序中的典型工具面板中获得的一样。也就是一组小的方形按钮,每个都包含一个图标,只有一个被按下,当你按下另一个按钮时,第一个被取消选择。我想了很多解决方案,但没有一个看起来很简单/优雅。
这听起来像是 JRadioButton 的工作,但如果你在其中添加一个图标,你仍然会得到一个小圆圈,这在空间上是相当低效的。我想一个选择是为 JRadioButton 找到替代的外观或绘画代码。
另一种选择可能是将 JButton 添加到 ButtonGroup,可能将 JToggleButton.ToggleButtonModel 设置为模型,但这并没有达到预期的效果,因为标准 JButton 的绘制代码在选择时不会保持按下状态。可能可以修改 JButton 代码来执行此操作。就像使其绘画“选中”的方式与“按下”一样。
第三种选择是使用普通的 JButton,并添加一个通用的鼠标侦听器来保持按下或不按下,并在按钮之间传达更改。
任何人都可以就实现目标的最佳方法提出建议吗?我错过的一个简单方法是最好的,但是关于这三种选择中哪一种最好的建议以及如何开始的指示也会很有用。