dire che ho unOttenere lo stato di JToggleButton
JToggleButton but = new JToggleButton("OK") ;
Ora ho bisogno dello stato di but
quando viene cliccato. Voglio dire, ho bisogno di sapere se è cliccato o no.
dire che ho unOttenere lo stato di JToggleButton
JToggleButton but = new JToggleButton("OK") ;
Ora ho bisogno dello stato di but
quando viene cliccato. Voglio dire, ho bisogno di sapere se è cliccato o no.
È inoltre possibile utilizzare il metodo itemStateChanged del ItemListener come segue:
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");
}
}
});
e si desidera conoscere lo stato di jtb
quest'ultimo sull'uso isSelected()
metodo
System.out.println(jtb.isSelected());
if(jtb.isSelected()){
System.out.println("button is selected");
} else {
System.out.println("button is not selected");
}
Per rispondere ai clic, aggiungere un ActionListener a JToggleButton. Per trovare lo stato, proprio come un JRadioButton, chiama il metodo isSelected().
Per esempio,
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);
}
}
molto più al punto di risposta. + 1'd – KJW
Ho paura che si basi sull'ordinazione degli eventi. Quando si preme 'actionPerformed' prima del pulsante interno che attiva il listener, si ottiene il [risultato opposto] (https://weblogs.java.net/blog/alexfromsun/archive/2011/06/15/swing-better-world- ascoltatori). – maaartinus
yep un buon modo per implementare questo, 1+ :) –
Grazie aHarry Joy. È una vera e propria elaborazione ... :) – Dewsworld
Poiché Java8 è possibile utilizzare l'espressione lambda ma.addItemListener ((ItemEvent ev) -> {/ * il codice * /} –