【发布时间】:2020-01-09 21:03:24
【问题描述】:
我用 JavaFX 创建了一个小软件。主窗口有几个按钮可以打开其他页面。但是当我点击这些按钮时,它们会打开新窗口。
希望所有这些页面都像普通软件一样在单个窗口中打开。
这是所有这些按钮上的事件代码。
@FXML
void Agenda(ActionEvent event) {
}
@FXML
void Informations(ActionEvent event) {
try{
FXMLLoader loade = new FXMLLoader(getClass().getResource("/cm/Project/View/Informations.fxml"));
VBox root = (VBox) loade.load();
Stage stage = new Stage();
stage.setTitle("Bernon Storage");
stage.setScene(new Scene(root));
stage.show();
} catch (Exception e){
e.printStackTrace();
}
}
@FXML
void Inscription(ActionEvent event) {
try{
FXMLLoader loade = new FXMLLoader(getClass().getResource("/cm/Project/View/Inscription.fxml"));
VBox root = (VBox) loade.load();
Stage stage = new Stage();
stage.setTitle("Bernon Storage");
stage.setScene(new Scene(root));
stage.show();
} catch (Exception e){
e.printStackTrace();
}
}
@FXML
void Notes(ActionEvent event) {
try{
FXMLLoader loade = new FXMLLoader(getClass().getResource("/cm/Project/View/Notes1.fxml"));
VBox root = (VBox) loade.load();
Stage stage = new Stage();
stage.setTitle("Bernon Storage");
stage.setScene(new Scene(root));
stage.show();
} catch (Exception e){
e.printStackTrace();
}
}
@FXML
void Staff(ActionEvent event) {
try{
FXMLLoader loade = new FXMLLoader(getClass().getResource("/cm/Project/View/Staff.fxml"));
VBox root = (VBox) loade.load();
Stage stage = new Stage();
stage.setTitle("Bernon Storage");
stage.setScene(new Scene(root));
stage.show();
} catch (Exception e){
e.printStackTrace();
}
}
@FXML
void Student(ActionEvent event) {
try{
FXMLLoader loade = new FXMLLoader(getClass().getResource("/cm/Project/View/Student.fxml"));
VBox root = (VBox) loade.load();
Stage stage = new Stage();
stage.setTitle("Bernon Storage");
stage.setScene(new Scene(root));
stage.show();
} catch (Exception e){
e.printStackTrace();
}
}
请帮我解决这个问题。这是我唯一必须完成这个项目的事情。
【问题讨论】:
-
不要在新阶段打开,而是尝试在主窗口的根目录中设置加载的视图。
-
这样做的方法是什么?
-
通过快速演示更新了答案。
-
一些想法here