web-dev-qa-db-fra.com

Java cocher si la case à cocher est cochée

J'utilise:

    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);

Pour créer un groupe de trois cases à cocher. Maintenant, je veux vérifier lequel d’entre eux est coché. J'utilise:

if (c1.isSelected()) { }

mais cela donne The method isSelected() is undefined for the type Checkbox... La solution recommandée consiste à ajouter le cast au c1. Je le fais aussi et cela donne Cannot cast from Checkbox to AbstractButton... Encore une fois, comment puis-je vérifier si une case à cocher est cochée?

5
user3265784

Utilisez getState ()

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

OU

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

Vous pouvez utiliser Checkbox::getState() ou (comme indiqué dans le commentaire) CheckboxGroup#getSelectedCheckbox()

1
NiziL

La première de toutes les Java.awt.Checkbox n'a pas de méthode .isSelected () dans sa super classe, qui est Java.awt.Component.

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

vérifiez le lien ci-dessus pour les méthodes héritées de la classe Java.awt.Component.

La seconde méthode .isSelected () peut être utilisée si vous utilisez JCheckBox à partir de javax.swing.JComponent; mais pas CheckBox of AWT ...

veuillez passer par le lien ci-dessous .. et vous pouvez trouver .isSelected () qui est hérité de javax.swing.AbstractButton;

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

0
Ram Satya

à en juger par votre utilisation de isSelected, j'ai conclu que vous aviez l'une des deux erreurs suivantes:

  1. vous voulez utiliser la case à cocher, si c'est le cas, alors vous devriez utiliser c1.getState() et non isSelected()
  2. vous avez besoin de RadioBox au lieu de CheckBox et vous pouvez ensuite utiliser la méthode isSelected(). vérifier ici sur les deux
0
No Idea For Name

vous pouvez essayer ce code

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