我正在做java fx,我陷入了将变量传递到不同的FXML场景中。因此在第一个场景控制器上,LoginController与login.fxml相关联
public class LoginController {
@FXML private TextField username;
@FXML private PasswordField password;
@FXML private Button loginButton;
@FXML private Label labelStatus;
@FXML private void handleLoginButton() throws InterruptedException {
try {
FXMLLoader mainLoad = new FXMLLoader(getClass().getResource("../View/mainscreen.fxml"));
Parent mainRoot = (Parent) mainLoad.load();
Stage stage = new Stage();
stage.setScene(new Scene(mainRoot));
stage.show();
} catch (Exception e) {
e.printStackTrace();
return;
}
}
}
当新场景打开时,我需要根据包含用户输入的username变量设置标签。这意味着我们需要通过controoler将变量从login.fxml传递到mainscreen.fxml。我如何实现这一点?
最简单的方法是通过设置器在mainscreencontroller
中设置适当的字段。Yo可以通过fxmlloader#getcontroller()
方法(https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/fxmlloader.html#getcontroller--)获得负责此fxml的控制器。
其他方法取决于您的应用程序体系结构。应该有一个对象负责存储那种信息。
我尝试了几乎所有可用的解决方案,但似乎都不起作用我需要在两个Javafx场景之间传递,但当我单击以导航到下一个场景时,什么也没有发生。以下是我目前为止的代码:
我试图在JavaFX中的场景之间传递一个字符串,我已经遵循了一些答案,但似乎它们不起作用,因为字符串在新场景中是空的。 另一个: 正如你所看到的,我尝试使用一个控制程序,并使用一个集合来填充字符串,问题是当我打开新场景时,他的控制程序重置,字符串不再存在,知道为什么或如何解决这个问题吗?
问题内容: 我有一个使用javafx Scene来渲染某些东西的应用程序,并且我想将该渲染结果放入我在Javafx中创建的某些GUI中。我该怎么做? 基本上,有一些容器可以放入场景,然后将其放入GUI。 抱歉,如果是新手问题,我是JavaFX的新手 问题答案: 该场景只有一个顶级父节点作为根。您可以获取它并放入另一个场景。
问题内容: 尝试使用PATCH方法将POST方案的响应的引用传递给另一个方案,并更改其中一个属性并得到错误。调试源代码后,我发现,当针对一种情况调用Scripts.assign时,变量作用域不会传递给另一种情况。 空手道版本:0.5.0 Java版本:1.8 测试的全部功能: 问题答案: 这是设计使然- 如果您需要变量在功能中所有s的范围内,请将其移至。如果您只想将此变量初始化一次,请查看关键字。
我创建了一个游戏,我想给它添加一个开始屏幕,我使用FXML添加了它,还添加了两个按钮(开始和退出)。 按下开始按钮后,我希望游戏加载场景并切换到游戏开始。我对如何做有一个粗略的想法,但我有点挣扎,因为我的SampleController类不知道如何启动游戏等,因为所有代码(以及加载初始开始菜单的代码)都在我的主类中,所以我尝试了这样的事情: 我尝试使用一个函数来切换场景,但它不起作用,也试图使用获