我有两个场景。第一个场景使用以下代码调用第二个场景。
@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();
}
“确认.fxml”中有一个名为“继续”的标签。
我需要在这个函数中更改标签的内容,并返回结果(真/假)。救命?
假设您有一个名为< code > confirmation _ controller . Java '的控制器。在该控制器中,有一个公共方法< code>getProceedLabel(),该方法返回对名为< code>Proceed的标签的引用。您可以尝试以下代码:
Stage confirmation_stage;
Parent confirmation;
confirmation_stage=new Stage();
FXMLLoader loader = new FXMLLoader(getClass().getResource("Confirmation.fxml"));
confirmation = loader.load();
confirmation_controller controller = loader.getController();
Label label = controller.getProceedLabel();
label.setText("..."):
confirmation_stage.setScene(new Scene(confirmation));
confirmation_stage.initOwner(generate_button.getScene().getWindow());
confirmation_stage.show();
FXML 中的标签具有设置文本方法。因此,对于您的情况,“继续”标签将如下所示:
Proceed.setText("The new text");
至于问题的第二部分,我不是100%确定你问的是什么。我真的看不出函数返回真或假的任何情况。
为 FXML 创建确认控制器
。从控制器中,公开一个方法,该方法允许您将数据(字符串)传递到要设置为标签。
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
...
问题内容: 我有两个场景。第一个场景使用以下代码调用第二个场景。 在“ Confirmation.fxml”中有一个名为“继续”的标签。 我需要从此函数中更改该标签的内容并返回结果(真/假)。救命? 问题答案: 为FXML 创建一个。从控制器中公开一个方法,该方法允许您传递数据(字符串)以设置为标签。 在加载FXML的方法中,可以具有:
}`我正在计划在同一舞台上使不同的部分成为自己的场景。如果有任何帮助,我将不胜感激。我正在使用NetBeans8.2。
我在第一个场景上有一个简单的按钮,应该会导致第二个场景。当我点击按钮时,它改变场景,但只显示一个空白屏幕。如果我关闭原始舞台,然后显示一个包含新场景的新舞台,它会正常工作,但我不想打开一个新窗口。 这是我的控制器类: 主类:
所以基本上我想做的是改变我的场景的一部分。我想保持一个静态菜单栏在顶部,只改变底部的部分根据哪个菜单按钮正在被点击。这意味着每个“页面”都需要不同的FXML文件和控制器类。 看看可用的JavaFX特性,我认为SubScene可以完成这项工作。但经过进一步的调查,似乎子场景是为3D东西制作的?所以我真的不知道我该做什么。 任何帮助都将不胜感激!
我是JavaFX的新手。我有我的主要场景和次要场景;当我从第一个场景切换到第二个场景时,窗口的条形图变得可见。我该怎么解决呢?