że mamUzyskanie stanu JToggleButton
JToggleButton but = new JToggleButton("OK") ;
Teraz muszę stan but
, gdy zostanie kliknięty. Chodzi mi o to, że muszę wiedzieć, czy jest kliknięty, czy nie.
że mamUzyskanie stanu JToggleButton
JToggleButton but = new JToggleButton("OK") ;
Teraz muszę stan but
, gdy zostanie kliknięty. Chodzi mi o to, że muszę wiedzieć, czy jest kliknięty, czy nie.
Można również użyć metodę itemListener za itemStateChanged jak następujące:
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");
}
}
});
i chcesz poznać stan jtb
ostatnim dniu stosowania isSelected()
metoda
System.out.println(jtb.isSelected());
if(jtb.isSelected()){
System.out.println("button is selected");
} else {
System.out.println("button is not selected");
}
Aby odpowiedzieć na kliknięcia, dodaj ActionListener do JToggleButton. Aby znaleźć jego stan, podobnie jak JRadioButton, wywołaj metodę isSelected().
Dla np,
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);
}
}
o wiele więcej do punktu odpowiedzi. + 1'd – KJW
Obawiam się, że polega to na zamawianiu zdarzeń. Kiedy 'actionPerformed' zostanie wywołane przed wewnętrznym przełącznikiem przełączającym przycisk, otrzymasz [odwrotny wynik] (https://weblogs.java.net/blog/alexfromsun/archive/2011/06/15/swing-better-world- słuchacze). – maaartinus
Tak, dobry sposób na wdrożenie tego, 1+ :) –
Dzięki @Harry Joy. To naprawdę dobre opracowanie ... :) – Dewsworld
Od Javy można używać wyrażenia lambda ale.addItemListener ((ItemEvent ev) -> {/ * Twój kod * /} –