【发布时间】:2014-06-30 08:47:23
【问题描述】:
更新 1:这是一个更有趣的事情。当我删除最后一行 { mainapp.showReportingScreen() ;} 现在程序首先执行 findAplliedJars 方法,然后显示处理屏幕。
我在 JavaFX 中工作,并为按钮操作而苦苦挣扎。我想要的是,当那个按钮被点击时:
- 做点什么;
- 显示另一个屏幕;
- 做另一件事;
- 显示另一个屏幕;
但是,我的程序跳过了 2. 点。
这是我的代码:
public class SomeController implements Initializable {
.
.
.
@Override
public void initialize(URL location, ResourceBundle resources) {
.
.
.
someButton.setOnAction(new EventHandler<ActionEvent>(){
public void handle(ActionEvent event) {
Report.setUserName(userNameField.getText());
Report.setPassword(passwordField.getText());
Report.setSmAdress(smAdressField.getText());
mainApp.showProcessingScreen();
Report.findAppliedJars();
mainApp.showReportingScreen();
}
});
}
.
.
.
}
因此,在不显示 processingScreen 的情况下,我的程序执行 findAppliedJars(),然后显示 reportingScreen。
可能是什么问题?谢谢。
更新 2:这是我的 showProcessingScreen() 方法:
public void showProcessingScreen() {
try {
// Load Report Screen
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainApp.class.getResource("ProcessingScreen.fxml"));
AnchorPane processingScreen = (AnchorPane) loader.load();
// Set report screen into the center of root layout.
rootLayout.setCenter(processingScreen);
ProcessingScreenController controller = loader.getController();
controller.setMainApp(this);
} catch (IOException e) {
e.printStackTrace();
}
}
【问题讨论】:
-
你能把
processingScreen的代码贴出来吗? -
显示处理屏幕时可能不会停止执行
-
我一会儿把代码贴出来。
标签: java button controller javafx initialization