目标是打印标签的当前文本。标签在整个程序中不断变化,使用当前的方法,我只能检索标签的初始化值。
我用来检索控制器实例的内容:
public class ShowWindow {
public static <T> T getController(String path){
try {
FXMLLoader fxmlLoader = new FXMLLoader(ShowWindow.class.getResource(path));
Parent root = fxmlLoader.load();
return fxmlLoader.getController();
}catch(IOException ex){
ex.printStackTrace();
}
return null;
}
}
private void close(Stage stage) {
String name = ShowWindow.<MainController>getController(fxmlFile).nameLabel.getText();
System.out.println(name);
stage.close();
}
public class MainController implements Initializable {
// Label.
// Code that changes label.
}
public class ShowWindow {
public static <T> T showWindow(String path){
try {
FXMLLoader fxmlLoader = new FXMLLoader(ShowWindow.class.getResource(path));
Parent root = fxmlLoader.load();
Stage stage = new Stage();
stage.initModality(Modality.APPLICATION_MODAL);
stage.setScene(new Scene(root));
stage.showAndWait();
return fxmlLoader.getController();
}catch(IOException ex){
ex.printStackTrace();
}
return null;
}
}
这就是房产派上用场的地方。您的代码当前只检索初始值,请使用属性监视标签文本何时更改:
label.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
System.out.println(newValue);
}
});
在我的程序中,我有一个选项卡窗格,每个选项卡都有自己的FXML文件和控制器。我已经为选项卡2(Schedular)加载了FXML文件。我试图从父控制器(FXML文档)调用子控制器(调度程序)中的函数。当我使用FXML Loader加载控制器时,它返回null。我该如何解决这个问题。 这是我的主要代码: 主要FXML文档:
问题内容: 我昨天在JavaFX中构建了一个小应用程序。我想在Controller类中获取应用程序的场景。每次尝试在控制器类中获取场景时,都会出错。我可以在Controller类的Button上设置OnKeyPressed方法,效果很好。但是,只有在选择Button后,它才能正常工作。我只能在Main类方法replaceSceneContent中获得场景。我已经读过这个问题,但是我在initial
我昨天在JavaFX中构建了一个小应用程序。我想在Controller类中获取应用程序的场景。每次我试图在控制器类中获取场景时,我都会出错。我可以在Controller类中的Button上设置OnKeyPested-method,工作正常。但是只有当按钮被选中时,它才工作正常...我可以只在Main类方法replace eSceneContent中获取场景。我已经读过这个问题了,但是我在初始化方法
我有一个进度条,我试图在控制器的javaFX中更新它。我正在根据一个名为Generate()的函数更新进度条,如果它被调用,它应该更新主控制器内的进度条。但是,我拥有的代码不会更新它,而是更新了进度条的新实例。 我的DrawerContentController中的Generate方法是: 在我的主控制器中,我使用场景构建器通过fxml设置了进度条,我正在尝试从DrawerContentContr
我无法完成的任务是将参数从一个场景传递到另一个场景并返回。 或者换句话说:主控制器加载子控制器的fxml,将对象传递给子控制器,切换场景。不得有两扇开着的窗户。工作完成后,副控制器将场景切换回主控制器,并将一些对象传递回主控制器。这就是我失败的地方。 这个问题和这个问题很相似但仍然没有答案。传递参数JavaFX FXML在注释中也提到了: 有没有人知道如何在没有外部库的情况下实现这一点?