java检查JToggleButton是否被按下并禁用
我有一个JTogglebuttons数组和一个JButton,当按下JButton时,它会启动一个循环,循环遍历所有JTogglebuttons以查看它是否被按下,如果被按下,它应该使它禁用/不可点击
下面是一段代码,这是一个问题
Public void actionPerformed(ActionEvent e){
Object pressed = e.getSource();
if (pressed == btnPurchase) {
for(int row = 0; row<8 ; row++){
for(int column = 0; column < 4; column++) {
if (seat[row][column].isPressed()) {
seat[row][column].setEnabled(false);
}
}
}
}
我得到这个错误
cannot find symbol
symbol : method isPressed()
location: class javax.swing.JToggleButton
if (seat[row][column].isPressed()) {
如果我使用。当选
我明白了
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at cinemaManager.actionPerformed(cinemaManager.java:174)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6375)
# 1 楼答案
我发现我在错误的位置重新定义了数组,从而丢失了现有的元素。现在修好了谢谢
# 2 楼答案
寻找ButtonModel,它返回预期的方法,包括isSelected
注意:背景的改变不适用于所有的外观和感觉