ユーザは、ポップアップセカンドシーンを開くボタンをクリックすると、ユーザはいくつかの値を選択して閉じることができ、選択を最初のシーンに渡すことができます。独自のコントローラを持つポップアップシーンからメインコントローラにパラメータを渡す
まずコントローラー
Set<String> set;
public void initialize(URL url, ResourceBundle rb){
set = new TreeSet<String>():
}
@FXML
public Set<String> addValue (MouseEvent e) throws IOException {
Stage stage = new Stage();
root = FXMLoader.load(getClass).getResources(2ndFXML.fxml);
stage.initModality(Modality.APPLICATION_MODAL);
stage.iniOwner(clickedButton.getScene().getWindow();
stage.showAndWait():
return set;
}
第二コントローラー
@FXML
public void addSelection (MouseEvent e) throws IOException {
if (event.getSource() == button){
stage = (Stage) button.getScene().getWindow();
set.addAll(listSelection)
stage.close
}
しかし、値が最初のコントローラに戻ってそれを作ることはありません。
「セット」に何も追加していないためです。私が間違っているなら私を訂正してください。ユーザーはどこから値を選択しますか?それは 'ListView'ですか? – Yahya
イベントハンドラに戻り値があることは絶対にありません。実際にはメソッドを呼び出さないので(JavaFXイベント処理フレームワークから呼び出されます)、返す値を決して処理することはできません。とにかく 'set'とは何ですか?定義されている場所とその場所はどこにありますか?最初のコントローラで実際に何をしたいのですか? –
が更新されました。リストビューから選択したものをセットに追加し、それを最初のコントローラに渡そうとしています – Moe