Получение состояния JToggleButton
Скажи у меня есть
JToggleButton but = new JToggleButton("OK") ;
Теперь мне нужно состояние but
когда он нажал. Я имею в виду, мне нужно знать, нажали ли они или нет.
2 ответа
Решение
Вы также можете использовать метод itemStateChanged itemListener, например:
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");
}
}
});
и вы хотите знать состояние jtb
последний на использовании isSelected()
метод
System.out.println(jtb.isSelected());
if(jtb.isSelected()){
System.out.println("button is selected");
} else {
System.out.println("button is not selected");
}
Чтобы реагировать на клики, добавьте ActionListener в JToggleButton. Чтобы найти его состояние, как и JRadioButton, вызовите его метод isSelected().
Например,
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);
}
}