Getting the state of JToggleButton

后端 未结 2 1726
暗喜
暗喜 2020-12-05 23:56

Say I have a

JToggleButton but = new JToggleButton(\"OK\") ;

Now I need the state of but when it is clicked. I mean I need to

相关标签:
2条回答
  • 2020-12-06 00:10

    You can also use the itemListener's itemStateChanged method like follow:

    JToggleButton jtb = new JToggleButton("Press Me");
    jtb.addItemListener(new ItemListener() {
       public void itemStateChanged(ItemEvent ev) {
          if(ev.getStateChange()==ItemEvent.SELECTED){
            System.out.println("button is selected");
          } else if(ev.getStateChange()==ItemEvent.DESELECTED){
            System.out.println("button is not selected");
          }
       }
    });
    

    and of you want to know the state of jtb latter on use isSelected() method

    System.out.println(jtb.isSelected());
    if(jtb.isSelected()){
        System.out.println("button is selected");
    } else {
        System.out.println("button is not selected");
    }
    
    0 讨论(0)
  • 2020-12-06 00:27

    To respond to clicks, add an ActionListener to the JToggleButton. To find it's state, just like a JRadioButton, call it's isSelected() method.

    For e.g.,

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JOptionPane;
    import javax.swing.JToggleButton;
    
    public class ToggleTest {
       public static void main(String[] args) {
          JToggleButton toggleBtn = new JToggleButton("Toggle Me!");
          toggleBtn.addActionListener(new ActionListener() {
    
             public void actionPerformed(ActionEvent e) {
                JToggleButton tBtn = (JToggleButton)e.getSource();
                if (tBtn.isSelected()) {
                   System.out.println("button selected");
                } else {
                   System.out.println("button not selected");
                }
             }
          });
    
          JOptionPane.showMessageDialog(null, toggleBtn);
       }
    }
    
    0 讨论(0)
提交回复
热议问题