package at.bestsolution.efxclipse.runtime.examples.layouts; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.stage.Stage; import org.eclipse.equinox.app.IApplicationContext; import at.bestsolution.efxclipse.runtime.application.AbstractJFXApplication; import at.bestsolution.efxclipse.runtime.panels.FillLayoutPane; import at.bestsolution.efxclipse.runtime.panels.SashLayoutPane; /** * This class controls all aspects of the JavaFX OSGi application's execution */ public class Application extends AbstractJFXApplication { @Override protected void jfxStart(IApplicationContext applicationContext, javafx.application.Application jfxApplication, Stage primaryStage) { primaryStage.setTitle("Hello JavaFX"); TabPane root = new TabPane(); root.getTabs().add(createFillLayout()); root.getTabs().add(createSashLayout()); root.getTabs().add(createBorderLayout()); root.getTabs().add(createHBoxLayout()); Scene scene = new Scene(root, 800, 800); primaryStage.setScene(scene); primaryStage.show(); } private Tab createHBoxLayout() { Tab tab = new Tab("HBoxLayout"); tab.setClosable(false); HBox borderPane = new HBox(); borderPane.setStyle("-fx-background-color: red;"); Label l = new Label(); l.setStyle("-fx-background-color: white;"); l.setText("Hello World"); borderPane.getChildren().add(l); tab.setContent(borderPane); return tab; } private Tab createBorderLayout() { Tab tab = new Tab("BorderLayout"); tab.setClosable(false); BorderPane borderPane = new BorderPane(); borderPane.setStyle("-fx-background-color: red;"); Label l = new Label(); l.setStyle("-fx-background-color: white; -fx-padding: 10px;"); l.setText("Hello World"); borderPane.setCenter(l); tab.setContent(borderPane); return tab; } private Tab createSashLayout() { Tab tab = new Tab("SashLayout"); tab.setClosable(false); FillLayoutPane fillLayout = new FillLayoutPane(); fillLayout.setStyle("-fx-background-color: red"); fillLayout.setMarginHeight(5); fillLayout.setMarginWidth(5); SashLayoutPane sashLayout = new SashLayoutPane(); sashLayout.setStyle("-fx-background-color: blue"); sashLayout.getRoot().setHorizontal(true); Label l = new Label(); l.setStyle("-fx-background-color: white"); SashLayoutPane.MUIControl data = new SashLayoutPane.MUIControl(); data.setWeight(49.81605562579014); sashLayout.getRoot().add(data); sashLayout.getChildren().add(l); sashLayout.setConstraint(l, data); l = new Label(); l.setStyle("-fx-background-color: white"); data = new SashLayoutPane.MUIControl(); data.setWeight(50.377192982456144); sashLayout.getRoot().add(data); sashLayout.getChildren().add(l); sashLayout.setConstraint(l, data); fillLayout.getChildren().add(sashLayout); tab.setContent(fillLayout); return tab; } private Tab createFillLayout() { Tab tab = new Tab("FillLayout"); tab.setClosable(false); FillLayoutPane fillLayout = new FillLayoutPane(); fillLayout.setStyle("-fx-background-color: red; -fx-blabla: true"); fillLayout.setMarginHeight(5); fillLayout.setMarginWidth(5); Label l = new Label(); l.setStyle("-fx-background-color: white"); fillLayout.getChildren().add(l); l = new Label(); l.setStyle("-fx-background-color: blue"); fillLayout.getChildren().add(l); tab.setContent(fillLayout); return tab; } }