Java FX从不同场景更改标签的值

标签 java javafx javafx-2 javafx-8 fxml

我有两个场景。第一个场景使用以下代码调用第二个场景。

@FXML
private void confirmation(ActionEvent event) throws IOException{
 Stage confirmation_stage;
 Parent confirmation;
 confirmation_stage=new Stage();
 confirmation=FXMLLoader.load(getClass().getResource("Confirmation.fxml"));
 confirmation_stage.setScene(new Scene(confirmation));
 confirmation_stage.initOwner(generate_button.getScene().getWindow());
 confirmation_stage.show();
 }

“Confirmation.fxml”中有一个名为“Proceed”的标签。

我需要在此函数中更改该标签的内容并返回结果(真/假)。帮忙?

最佳答案

为 FXML 创建一个 ConfirmationController。从 Controller 中,公开一个允许您传递数据(字符串)以设置标签的方法。

public class ConfirmationController implements Initializable {

    ...
    @FXML
    private Label proceed;
    ...
    public void setTextToLabel (String text) {
         proceed.setText(text);
    }
    ...
}

在加载 FXML 的方法中,您可以:

...
FXMLLoader loader = new FXMLLoader(getClass().getResource("Confirmation.fxml"));
confirmation = loader.load();
ConfirmationController controller = (ConfirmationController)loader.getController();
controller.setTextToLabel("Your Text"); // Call the method we wrote before
...

关于Java FX从不同场景更改标签的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31083113/

相关文章:

multithreading - 如何从JavaFX中的单独线程更新状态和进度

java - 从 Myeclipse IDE 重新部署之间保持 Tomcat 服务器应用程序 session

java - Gradle:设置任务运行的java虚拟机(jvm)堆栈大小? (例如,将 -Xss80m 传递给 jvm)

javascript - 如何在java中使用PhantomJSDriver获取Alert对象?

java - gMapsFX netscape.javascript.JSException : ReferenceError

javafx-2 - Javafx PropertyValueFactory 未填充 Tableview

java - 如何在单击按钮时从 JTextField 中删除 DocumentFilter 文本

JavaFX ScrollPane [ setPrefSize、setMinSize、setMaxSize ] 不起作用

java - 如何将点击事件添加到 javafx 中的 tableview 单元格

java - 在 JavaFX 2.2 中阻止/取消关闭初级阶段