java - 按下鼠标时更改 JButton 的图标

标签 java swing jbutton imageicon

在一个 JPanel 中有几个 JButton。当用户单击一个 Jbutton 时,即使在释放鼠标后也需要显示为已按下。我试过了

jButton.setPressedIcon( pressedImageIcon );  

但它只支持直到按下鼠标。释放鼠标时,会出现按钮的默认图标。我想在按下时更改 JButton 的图标并保持按下的图标不变,以便用户知道他单击了什么,并且在单击另一个 JButton 时需要更改图标。有什么办法吗?

最佳答案

听起来您根本不应该使用 JButton,而应该使用 JToggleButton ,在按下后保持选中,直到再次按下。您可能希望通过 setSelectedIcon(...) 将所选图标设置为您希望在按下或选中时显示的内容。

...so that user knows what he has clicked and icon is needed to be changed when another JButton is clicked.

要获得此行为,请将您的 JToggleButtons 添加到单个 ButtonGroup 对象,类似于您为 JRadioButtons 执行此操作的方式。

关于java - 按下鼠标时更改 JButton 的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849119/

相关文章:

java - MVC Java Swing如何从 View 正确从数据库获取数据

java - 如何获取 JTree 根节点的文件系统路径?

java - 在保留泛型的同时创建不同的 JTable

java - JButton 未在我的 JFrame 中绘制。 JFrame 处于 while 循环中

java - MySQL插入自动增量

java - 如何在 java 中对多个元素使用 equalsIgnoreCase()

java - JDialog 未针对新输入进行更新

java - 如何在 Java 中制作非 Swing 按钮?

java - 按钮大小 (Java)

java - 制作按钮