package eu.ggnet.saft.sample;
import eu.ggnet.saft.core.Ui;
import eu.ggnet.saft.core.UiCore;
import eu.ggnet.saft.core.fx.FxSaft;
import eu.ggnet.saft.sample.support.RevenueReportSelectorPane;
import eu.ggnet.saft.sample.support.SimplePane;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import static javafx.scene.text.Font.font;
/**
* Opening a JavaFX Pane as popup Dialog, blocking the hole application.
*
* @author oliver.guenther
*/
public class JavaFxPopupJavaFxParentJavaFx extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
UiCore.startJavaFx(primaryStage, () -> new SimplePane());
final Label l = new Label("Ein JavaFX Dialog");
l.setFont(font(50));
BorderPane p = new BorderPane(l);
final Stage stage = FxSaft.dispatch(() -> {
Stage s = new Stage();
s.setTitle("Second MainStage");
s.setX(400);
s.setY(600);
s.setScene(new Scene(p));
s.sizeToScene();
s.show();
return s;
});
// JavaFX Pane in Swing Dialog.
Ui.exec(Ui
.parent(p)
.choiceFx(RevenueReportSelectorPane.class)
.onOk(v -> {
System.out.println(v);
return null;
})
);
}
}