私はJavaFX Scene Builderを使ってfxmlの内部にChoiceBoxを配置しました。選択するChoiceBox-Eventはどれですか?
FXMLにはコントローラが割り当てられています。
私の質問は次のとおりです。変更された値について知りたい場合は、どのイベントを登録する必要がありますか?
onMouseClicked="#languageSelectionModified"
:
onInputMethodTextChanged="#languageSelectionModified"
これは、次のコード
public void languageSelectionModified(Event event) {
ChoiceBox<String> box = (ChoiceBox<String>) event.getSource();
System.out.println(box.getValue());
}
と最初のクリック(すなわち、リストを開いて項目を選択しない場合)のために、この作品だけでは動作しません。タッチまたはキーボードが入力方法であるため、Mouse-Eventsは決して良い選択にはなりませんが、System.outに到達できることはまだ証明されています。私はabsolutlyそれらのものがdocumentatedされないアイデア(デフォルトのJava-APIには、彼らはありません)
返信いただきありがとうございます。これはうまくいく。したがって、「通常の」FXMLイベントを介して行う方法はありませんか? FXMLファイルの既存の(そして定義可能な)イベントをどこで調べることができたか教えていただけたら、あなたの答えを私の質問に答えるものとしてマークします。 – Gundon
いいえ、JavaFX 2.0から2.2を使用して、FXMLでこのイベントを検索することはできません。 – jewelsea
choiceboxのイベントは、choiceboxの値がコードで設定されている場合でもトリガーされます(私の場合は、子選択ボックスのフォームを入力する選択肢が1つあります)。コード駆動型のものです。 – Mikeb