togglenameが3つのボタン、togglenameがtrueまたはfalseの2つのボタンを選択できます。実際、togglegroupにはasnwers(質問からjavafxで作ったクイズゲームまで)に対応するボタンが含まれています。クリックイベントでは、どのボタンが押されたかを特定し、actionlistener中に対応する値を返します。 (真または偽のために同様のコードである)。これは、答えを選択する場合である `toggleGroupから実際の値を返します。javafx
groupAnswerQ = new ToggleGroup();
class MyChooseAnswerButton extends ToggleButton {
public MyChooseAnswerButton() {
setToggleGroup(groupAnswerQ);
setWrapText(true);
}
}
SanswerButton1 = new MyChooseAnswerButton();
SanswerButton2 = new MyChooseAnswerButton();
SanswerButton3 = new MyChooseAnswerButton();
groupAnswerQ.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
public void changed(ObservableValue<? extends Toggle> ov, Toggle toggle, Toggle new_toggle) {
if (new_toggle != null) {
textAnswerQ = (String) groupAnswerQ.getSelectedToggle().getUserData();
System.out.println("textAnswerQ : " + textAnswerQ);
}
}
});`
:
私のコードは次のようです。私の問題は、new_toggleがnullでなくても、イベントが検出されたときにtextAnswerQが常にnullを返すことです。私はここで間違って何をしていますか?
ここで、UserDataを設定しますか? –
メインクラスの私のコードでは、ボタンをsetUserDataで初期化しています。 – konstantin
MyChooseAnswerButtonクラスを作成する際に問題が生じるのはなぜですか?なぜあなたのコードのボタンを通常の方法で作成しないのですか?この問題がなぜ発生しているのか、良い答えを得るためには、おそらくコードを投稿する必要があります。 – Sedrick