【发布时间】:2015-06-28 06:46:16
【问题描述】:
从我的 MainProject (Java 8) 我开始一个 JavaFX 8 类。
public void startFX() {
if (isRestartPrintModul() == true) {
fxMain.init();
} else {
setRestartPrintModul(true);
fxMain.main(new String[] {"ohne"});
}
}
这是我的 FXMain:
package quality;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
/**
*
* @author pu_laib
*/
public class FXMain extends Application {
private static Stage primaryStage;
@Override
public void init() {
Platform.setImplicitExit(false);
if (getPrimaryStage() != null) {
getPrimaryStage().show();
} else {
}
}
@Override
public void start(Stage primaryStage) {
setPrimaryStage(primaryStage);
// -> Applicationerror: getPrimaryStage().initModality(Modality.NONE);
// -> Applicationerror: getPrimaryStage().initModality(Modality.APPLICATION_MODAL);
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction((ActionEvent event) -> {
System.out.println("Hello World!");
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
getPrimaryStage().setTitle("Hello World!");
getPrimaryStage().setScene(scene);
getPrimaryStage().show();
this.primaryStage.setOnCloseRequest((WindowEvent event) -> {
Platform.exit();
});
}
public static void main(String[] args) {
launch(args);
}
public Stage getPrimaryStage() {
return primaryStage;
}
public void setPrimaryStage(Stage primaryStage) {
this.primaryStage = primaryStage;
}
}
无法再次从我的 MainProject 调用 Print 模块,尽管我认为它已关闭。
一旦 PrintModul 模块完成,launch 不记得它之前运行过,对吧?
怎么了?
谢谢。
【问题讨论】:
标签: javafx instance restart launch