web-dev-qa-db-fra.com

Obtenir l'état de JToggleButton

Dis que j'ai un

JToggleButton but = new JToggleButton("OK") ;

Maintenant, j'ai besoin de l'état de but quand on clique dessus. Je veux dire que je dois savoir si c'est cliqué ou non.

23
Dewsworld

Vous pouvez également utiliser la méthode itemStateChanged de itemListener comme suit:

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");
      }
   }
});

et vous voulez connaître l'état de jtb ce dernier lors de l'utilisation de la méthode isSelected()

System.out.println(jtb.isSelected());
if(jtb.isSelected()){
    System.out.println("button is selected");
} else {
    System.out.println("button is not selected");
}
51
Harry Joy

Pour répondre aux clics, ajoutez un ActionListener au JToggleButton. Pour trouver son état, tout comme un JRadioButton, appelez sa méthode isSelected ().

Par exemple,

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);
   }
}
15