decir que tengo unObtener el estado de JToggleButton
JToggleButton but = new JToggleButton("OK") ;
Ahora necesito el estado de but
cuando se hace clic. Quiero decir que necesito saber si se hace clic o no.
decir que tengo unObtener el estado de JToggleButton
JToggleButton but = new JToggleButton("OK") ;
Ahora necesito el estado de but
cuando se hace clic. Quiero decir que necesito saber si se hace clic o no.
También puede utilizar el método itemStateChanged del itemListener como sigue:
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");
}
}
});
y desea conocer el estado de jtb
este último sobre el uso isSelected()
método
System.out.println(jtb.isSelected());
if(jtb.isSelected()){
System.out.println("button is selected");
} else {
System.out.println("button is not selected");
}
Para responder a los clics, agregue un ActionListener al JToggleButton. Para encontrar su estado, al igual que un JRadioButton, llame al método isSelected().
Por ejemplo,
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);
}
}
respuesta mucho más al punto. +1 en el – KJW
Me temo que se basa en el orden de eventos. Cuando se llama a 'actionPerformed' antes de que el botón interno alterne al oyente, se obtiene el [resultado opuesto] (https://weblogs.java.net/blog/alexfromsun/archive/2011/06/15/swing-better-world- oyentes). – maaartinus
sí, una buena manera de implementar esto, 1+ :) –
Gracias @Harry Joy. Es una muy buena elaboración ... :) – Dewsworld
Desde Java8 puedes usar la expresión lambda but.addItemListener ((ItemEvent ev) -> {/ * tu código * /} –