it-swarm.com.de

Java prüfen, ob das Kontrollkästchen aktiviert ist

Ich benutze:

    CheckboxGroup cg = new CheckboxGroup();
    Checkbox c1 = new Checkbox("A", false, cg);
    Checkbox c2 = new Checkbox("B", false, cg);
    Checkbox c3 = new Checkbox("C", true, cg);

So erstellen Sie eine Gruppe von drei Kontrollkästchen. Nun möchte ich prüfen, welche davon geprüft wird. Ich benutze:

if (c1.isSelected()) { }

aber dies gibt The method isSelected() is undefined for the type Checkbox... Die empfohlene Lösung ist Cast in c1 einfügen. Ich mache das und es gibt Cannot cast from Checkbox to AbstractButton.... Wie kann ich nur überprüfen, ob ein Kontrollkästchen aktiviert ist?

5
user3265784

Verwenden Sie getState ().

boolean checked = c1.getState();
if(c1.getState()) {
  //c1 is checked
} else if (c2.getState()) {
  //
}

ODER

Checkbox cb = cg.getSelectedCheckbox();
if(null != cb) {
  //not checked
} else {
  System.out.println(cb.getLabel() + " is checked");
}
8
user2575725

Sie können Checkbox::getState() oder (wie im Kommentar erwähnt) CheckboxGroup#getSelectedCheckbox() verwenden.

1
NiziL

Die 1. aller Java.awt.Checkbox-Klasse hat keine .isSelected () - Methode in ihrer Superklasse, die Java.awt.Component ist.

https://docs.Oracle.com/javase/7/docs/api/Java/awt/Checkbox.html

bitte überprüfen Sie den obigen Link für Methoden, die von der Klasse Java.awt.Component übernommen wurden

Die 2. .isSelected () - Methode kann verwendet werden, wenn Sie JCheckBox von javax.swing.JComponent verwenden. aber nicht CheckBox von AWT ...

bitte gehen Sie durch den Link .. und Sie können .isSelected () finden, das von javax.swing.AbstractButton geerbt wird.

https://docs.Oracle.com/javase/7/docs/api/javax/swing/JCheckBox.html

0
Ram Satya

nach Ihrer Verwendung von isSelected zu urteilen, habe ich festgestellt, dass Sie 1 von 2 Fehlern haben:

  1. wenn Sie das Kontrollkästchen verwenden möchten, sollten Sie in diesem Fall c1.getState() und nicht isSelected() verwenden.
  2. sie brauchen RadioBox anstelle von CheckBox und können dann die isSelected()-Methode verwenden. hier nach den beiden suchen
0

sie können diesen Code ausprobieren

// check is ckeck box id
if (check.isSelected()) {
           // your code for checked;
 } else {
           // our code for not checked;
 }
0
Madhuka Dilhan