私が使う:
_ 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);
_
3つのチェックボックスのグループを作成します。ここで、どちらがチェックされているかを確認したいと思います。私が使う:
_if (c1.isSelected()) { }
_
しかし、これによりThe method isSelected() is undefined for the type Checkbox
...が得られます。推奨される解決策はc1にキャストを追加することです。そうすると_Cannot cast from Checkbox to AbstractButton
_...が得られます。
GetState()を使用します
boolean checked = c1.getState();
if(c1.getState()) {
//c1 is checked
} else if (c2.getState()) {
//
}
[〜#〜]または[〜#〜]
Checkbox cb = cg.getSelectedCheckbox();
if(null != cb) {
//not checked
} else {
System.out.println(cb.getLabel() + " is checked");
}
Checkbox::getState()
または(コメントで述べたように) CheckboxGroup#getSelectedCheckbox()
を使用できます
すべてのJava.awt.Checkboxの1つ目は、スーパークラスであるJava.awt.Componentに.isSelected()メソッドがありません。
https://docs.Oracle.com/javase/7/docs/api/Java/awt/Checkbox.html
クラスJava.awt.Componentから継承されたメソッドについては、上記のリンクを確認してください
2番目の.isSelected()メソッドは、javax.swing.JComponentからJCheckBoxを使用する場合に使用できます。 AWTのCheckBoxではありません...
以下のリンクを参照してください。javax.swing.AbstractButtonから継承された.isSelected()を見つけることができます。
https://docs.Oracle.com/javase/7/docs/api/javax/swing/JCheckBox.html
isSelected
の使用から判断すると、2つの誤りのうちの1つがあると結論付けました。
c1.getState()
ではなくisSelected()
を使用してください。RadioBox
の代わりにCheckBox
が必要な場合は、isSelected()
メソッドを使用できます。 2つについてはこちらを確認してくださいあなたはこのコードを試すことができます
// check is ckeck box id
if (check.isSelected()) {
// your code for checked;
} else {
// our code for not checked;
}