Dan*_*mbi 1 java swing jbutton
我需要一个按钮,当按下该按钮时,启用所有其他按钮,并将标签名称从"关"更改为"开",再次按下时,禁用所有按钮并再次将开关切换回"关闭" ,像一个开/关开关.问题是,我可以"打开它",但我无法将其关闭.
如果是Swing,那么您可能希望将要控制的按钮放入数组或ArrayList<AbstractButton>
.这样,控制按钮的ActionListener可以简单地遍历数组或带有for循环的集合,setEnabled(true)
在按钮上调用或false.考虑将控制按钮设为JCheckBox或JToggleButton.
注意,如果使用JToggleButton,则向其添加ItemListener.如果你这样做,就没有必要使用布尔值了.只需检查传递给ItemListener的itemStateChanged方法的ItemEvent的状态.如果getStateChanged()
返回ItemEvent.SELECTED,则遍历您的JButton集合,启用所有按钮.如果它返回ItemEvent.DESELECTED,则执行相反的操作.
另请注意拜伦霍金斯的评论:
您可能希望
ItemListener
在按钮以编程方式切换时以及用户切换按钮时将接收事件.该ActionListener
只拿到输入来自人类用户解雇.我经常遇到错误,因为我选错了.
归档时间: |
|
查看次数: |
12473 次 |
最近记录: |