javafx.scene.layout.AnchorPane#setTopAnchor ( )源码实例Demo

下面列出了javafx.scene.layout.AnchorPane#setTopAnchor ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: bisq   文件: SupplyView.java
private Pane wrapInChartPane(Node child) {
    AnchorPane chartPane = new AnchorPane();
    chartPane.getStyleClass().add("chart-pane");

    AnchorPane.setTopAnchor(child, 15d);
    AnchorPane.setBottomAnchor(child, 10d);
    AnchorPane.setLeftAnchor(child, 25d);
    AnchorPane.setRightAnchor(child, 10d);

    chartPane.getChildren().add(child);

    GridPane.setColumnSpan(chartPane, 2);
    GridPane.setRowIndex(chartPane, ++gridRow);
    GridPane.setMargin(chartPane, new Insets(10, 0, 0, 0));

    return chartPane;
}
 
源代码2 项目: bisq   文件: ProposalDisplay.java
@SuppressWarnings("Duplicates")
public ScrollPane getView() {
    ScrollPane scrollPane = new ScrollPane();
    scrollPane.setFitToWidth(true);
    scrollPane.setFitToHeight(true);

    AnchorPane anchorPane = new AnchorPane();
    scrollPane.setContent(anchorPane);

    gridPane.setHgap(5);
    gridPane.setVgap(5);

    ColumnConstraints columnConstraints1 = new ColumnConstraints();
    columnConstraints1.setPercentWidth(100);

    gridPane.getColumnConstraints().addAll(columnConstraints1);

    AnchorPane.setBottomAnchor(gridPane, 10d);
    AnchorPane.setRightAnchor(gridPane, 10d);
    AnchorPane.setLeftAnchor(gridPane, 10d);
    AnchorPane.setTopAnchor(gridPane, 10d);
    anchorPane.getChildren().add(gridPane);

    return scrollPane;
}
 
源代码3 项目: charts   文件: LineChartTest.java
private Axis createLeftYAxis(final double MIN, final double MAX, final boolean AUTO_SCALE, final double AXIS_WIDTH) {
    Axis axis = new Axis(Orientation.VERTICAL, Position.LEFT);
    axis.setMinValue(MIN);
    axis.setMaxValue(MAX);
    axis.setPrefWidth(AXIS_WIDTH);
    axis.setAutoScale(AUTO_SCALE);

    AnchorPane.setTopAnchor(axis, 0d);
    AnchorPane.setBottomAnchor(axis, AXIS_WIDTH);
    AnchorPane.setLeftAnchor(axis, 0d);

    return axis;
}
 
源代码4 项目: ARMStrong   文件: CodeEditor.java
/**
   * Creates a new instance of a code editor
   * @param armSimulator the simulator
   */
  public CodeEditor(ArmSimulator armSimulator) {

      mainPane = new AnchorPane();

      this.armSimulator = armSimulator;
      this.textArea = new TextArea();
      this.textFlow = new TextFlow();
      this.scrollPane = new ScrollPane(this.textFlow);
      
      visibleNodes = FXCollections.observableArrayList();
      
      dockNode = new DockNode(mainPane, "Editor");
      dockNode.setPrefSize(300, 100);
      dockNode.setClosable(false);
      
      AnchorPane.setBottomAnchor(this.textArea, 0D);
      AnchorPane.setLeftAnchor(this.textArea, 0D);
      AnchorPane.setRightAnchor(this.textArea, 0D);
      AnchorPane.setTopAnchor(this.textArea, 0D);
      this.mainPane.setMinSize(300, 300);
      
      AnchorPane.setBottomAnchor(this.scrollPane, 0D);
      AnchorPane.setLeftAnchor(this.scrollPane, 0D);
      AnchorPane.setRightAnchor(this.scrollPane, 0D);
      AnchorPane.setTopAnchor(this.scrollPane, 0D);
      
      this.mainPane.getChildren().addAll(this.scrollPane, this.textFlow, this.textArea);
      this.dockNode.getStylesheets().add("/resources/style.css");
      mainPane.setMaxHeight(Double.MAX_VALUE);
      mainPane.setMaxWidth(Double.MAX_VALUE);
      
      scrollPane.vvalueProperty().addListener((obs) -> {
	checkVisible(scrollPane);
});
      scrollPane.hvalueProperty().addListener((obs) -> {
	checkVisible(scrollPane);
});
  }
 
源代码5 项目: bisq   文件: MutableOfferView.java
private void addScrollPane() {
    scrollPane = new ScrollPane();
    scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    scrollPane.setFitToWidth(true);
    scrollPane.setFitToHeight(true);
    AnchorPane.setLeftAnchor(scrollPane, 0d);
    AnchorPane.setTopAnchor(scrollPane, 0d);
    AnchorPane.setRightAnchor(scrollPane, 0d);
    AnchorPane.setBottomAnchor(scrollPane, 0d);
    root.getChildren().add(scrollPane);
}
 
源代码6 项目: milkman   文件: FxmlBuilder.java
public static <T extends Node> T anchorNode(T node, Double top, Double right, Double bottom, Double left) {
	AnchorPane.setTopAnchor(node, top);
	AnchorPane.setRightAnchor(node, right);
	AnchorPane.setBottomAnchor(node, bottom);
	AnchorPane.setLeftAnchor(node, left);
	return node;
}
 
源代码7 项目: charts   文件: Helper.java
public static final Axis createAxis(final double MIN, final double MAX, final boolean AUTO_SCALE, final double AXIS_WIDTH, final double ANCHOR, final Orientation ORIENTATION, final Position POSITION) {
    Axis axis = AxisBuilder.create(ORIENTATION, POSITION)
                           .minValue(MIN)
                           .maxValue(MAX)
                           .autoScale(AUTO_SCALE)
                           .build();

    if (Orientation.HORIZONTAL == ORIENTATION) {
        axis.setPrefHeight(AXIS_WIDTH);
    } else {
        axis.setPrefWidth(AXIS_WIDTH);
    }

    switch(POSITION) {
        case LEFT:
            AnchorPane.setTopAnchor(axis, 0d);
            AnchorPane.setBottomAnchor(axis, ANCHOR);
            AnchorPane.setLeftAnchor(axis, 0d);
            break;
        case CENTER:
            break;
        case RIGHT:
            AnchorPane.setRightAnchor(axis, 0d);
            AnchorPane.setTopAnchor(axis, 0d);
            AnchorPane.setBottomAnchor(axis, ANCHOR);
            break;
        case TOP:
            AnchorPane.setTopAnchor(axis, ANCHOR);
            AnchorPane.setLeftAnchor(axis, ANCHOR);
            AnchorPane.setRightAnchor(axis, ANCHOR);
            break;
        case BOTTOM:
            AnchorPane.setBottomAnchor(axis, 0d);
            AnchorPane.setLeftAnchor(axis, ANCHOR);
            AnchorPane.setRightAnchor(axis, ANCHOR);
            break;
    }
    return axis;
}
 
源代码8 项目: OEE-Designer   文件: DesignerApplication.java
void showCronTrendDialog(EventResolver eventResolver) throws Exception {
	// Load the fxml file and create a new stage for the pop-up dialog.
	FXMLLoader loader = FXMLLoaderFactory.cronTrendLoader();
	AnchorPane page = (AnchorPane) loader.getRoot();

	// Create the dialog Stage.
	Stage dialogStage = new Stage(StageStyle.DECORATED);
	dialogStage.setTitle(DesignerLocalizer.instance().getLangString("cron.event.trend"));
	dialogStage.initModality(Modality.NONE);
	Scene scene = new Scene(page);
	dialogStage.setScene(scene);

	// get the controller
	CronTrendController cronTrendController = loader.getController();
	cronTrendController.setDialogStage(dialogStage);
	cronTrendController.setApp(this);

	// add the trend chart
	SplitPane chartPane = cronTrendController.initializeTrend();

	AnchorPane.setBottomAnchor(chartPane, 50.0);
	AnchorPane.setLeftAnchor(chartPane, 5.0);
	AnchorPane.setRightAnchor(chartPane, 5.0);
	AnchorPane.setTopAnchor(chartPane, 50.0);

	page.getChildren().add(0, chartPane);

	// set the script resolver
	cronTrendController.setEventResolver(eventResolver);

	// start the job
	cronTrendController.subscribeToDataSource();

	// show the window
	cronTrendController.getDialogStage().show();
}
 
源代码9 项目: AsciidocFX   文件: ViewPanel.java
protected void initializeMargins() {
    AnchorPane.setBottomAnchor(this, 0D);
    AnchorPane.setTopAnchor(this, 0D);
    AnchorPane.setLeftAnchor(this, 0D);
    AnchorPane.setRightAnchor(this, 0D);
    VBox.setVgrow(this, Priority.ALWAYS);
    AnchorPane.setBottomAnchor(getWebView(), 0D);
    AnchorPane.setTopAnchor(getWebView(), 0D);
    AnchorPane.setLeftAnchor(getWebView(), 0D);
    AnchorPane.setRightAnchor(getWebView(), 0D);
    VBox.setVgrow(getWebView(), Priority.ALWAYS);
}
 
源代码10 项目: OEE-Designer   文件: DesignerApplication.java
void showHttpTrendDialog(EventResolver eventResolver) throws Exception {
	// Load the fxml file and create a new stage for the pop-up dialog.
	FXMLLoader loader = FXMLLoaderFactory.httpTrendLoader();
	AnchorPane page = (AnchorPane) loader.getRoot();

	// Create the dialog Stage.
	Stage dialogStage = new Stage(StageStyle.DECORATED);
	dialogStage.setTitle(DesignerLocalizer.instance().getLangString("http.trend.title"));
	dialogStage.initModality(Modality.NONE);
	Scene scene = new Scene(page);
	dialogStage.setScene(scene);

	// get the controller
	HttpTrendController httpTrendController = loader.getController();
	httpTrendController.setDialogStage(dialogStage);
	httpTrendController.setApp(this);

	// add the trend chart
	SplitPane chartPane = httpTrendController.initializeTrend();

	AnchorPane.setBottomAnchor(chartPane, 50.0);
	AnchorPane.setLeftAnchor(chartPane, 5.0);
	AnchorPane.setRightAnchor(chartPane, 5.0);
	AnchorPane.setTopAnchor(chartPane, 50.0);

	page.getChildren().add(0, chartPane);

	// set the script resolver
	httpTrendController.setScriptResolver(eventResolver);

	// start HTTP server
	httpTrendController.onStartServer();

	// show the trend
	httpTrendController.getDialogStage().show();
}
 
private void handleChartTypeChanged(
        ObservableValue<? extends String> observable,
        String oldValue,
        String newValue
) {
    chart = ChartsFactory.create(newValue, interval);

    AnchorPane.setTopAnchor((Node) chart, 0.0);
    AnchorPane.setRightAnchor((Node) chart, 0.0);
    AnchorPane.setBottomAnchor((Node) chart, 0.0);
    AnchorPane.setLeftAnchor((Node) chart, 0.0);

    root.getChildren().clear();
    root.getChildren().add((Node) chart);
}
 
源代码12 项目: OEE-Designer   文件: DesignerApplication.java
void showDatabaseTrendDialog(EventResolver eventResolver) throws Exception {
	// Load the fxml file and create a new stage for the pop-up dialog.
	FXMLLoader loader = FXMLLoaderFactory.databaseTrendLoader();
	AnchorPane page = (AnchorPane) loader.getRoot();

	// Create the dialog Stage.
	Stage dialogStage = new Stage(StageStyle.DECORATED);
	dialogStage.setTitle(DesignerLocalizer.instance().getLangString("db.event.trend"));
	dialogStage.initModality(Modality.NONE);
	Scene scene = new Scene(page);
	dialogStage.setScene(scene);

	// get the controller
	DatabaseTrendController databaseTrendController = loader.getController();
	databaseTrendController.setDialogStage(dialogStage);
	databaseTrendController.setApp(this);

	// add the trend chart
	SplitPane chartPane = databaseTrendController.initializeTrend();

	AnchorPane.setBottomAnchor(chartPane, 50.0);
	AnchorPane.setLeftAnchor(chartPane, 5.0);
	AnchorPane.setRightAnchor(chartPane, 5.0);
	AnchorPane.setTopAnchor(chartPane, 50.0);

	page.getChildren().add(0, chartPane);

	// set the script resolver
	databaseTrendController.setEventResolver(eventResolver);

	// connect to the database server
	databaseTrendController.subscribeToDataSource();

	// show the window
	databaseTrendController.getDialogStage().show();
}
 
源代码13 项目: OEE-Designer   文件: DesignerApplication.java
void showDashboard() throws Exception {
	PlantEntity entity = getPhysicalModelController().getSelectedEntity();

	FXMLLoader dialogLoader = FXMLLoaderFactory.dashboardDialogLoader();
	AnchorPane pane = (AnchorPane) dialogLoader.getRoot();

	// Create the dialog Stage.
	Stage dialogStage = new Stage(StageStyle.DECORATED);
	dialogStage.setTitle(DesignerLocalizer.instance().getLangString("oee.dashboard", entity.getDisplayString()));
	dialogStage.initModality(Modality.NONE);
	Scene scene = new Scene(pane);
	dialogStage.setScene(scene);

	// get the controller
	DashboardDialogController dashboardDialogController = dialogLoader.getController();
	dashboardDialogController.setDialogStage(dialogStage);

	// load the content
	FXMLLoader dashboardLoader = FXMLLoaderFactory.dashboardLoader();
	DashboardController dashboardController = dashboardLoader.getController();

	SplitPane spDashboard = (SplitPane) dashboardLoader.getRoot();

	pane.getChildren().add(0, spDashboard);

	AnchorPane.setTopAnchor(spDashboard, 0.0);
	AnchorPane.setBottomAnchor(spDashboard, 50.0);
	AnchorPane.setLeftAnchor(spDashboard, 0.0);
	AnchorPane.setRightAnchor(spDashboard, 0.0);

	dashboardController.enableRefresh(true);

	dashboardDialogController.setDashboardController(dashboardController);

	dashboardController.setupEquipmentLoss((Equipment) entity);

	// Show the dialog and wait until the user closes it
	dashboardDialogController.getDialogStage().showAndWait();
}
 
源代码14 项目: charts   文件: LineChartTest.java
private Axis createCenterYAxis(final double MIN, final double MAX, final boolean AUTO_SCALE, final double AXIS_WIDTH) {
    Axis axis = new Axis(Orientation.VERTICAL, Position.CENTER);
    axis.setMinValue(MIN);
    axis.setMaxValue(MAX);
    axis.setPrefWidth(AXIS_WIDTH);
    axis.setAutoScale(AUTO_SCALE);

    AnchorPane.setTopAnchor(axis, 0d);
    AnchorPane.setBottomAnchor(axis, AXIS_WIDTH);
    AnchorPane.setLeftAnchor(axis, axis.getZeroPosition());

    return axis;
}
 
源代码15 项目: BowlerStudio   文件: CreatureLabControlsTab.java
public void setOverlayTop(VBox progress) {
	// TODO Auto-generated method stub
	progressBar.getChildren().clear();
	progressBar.getChildren().add(progress);
	AnchorPane.setTopAnchor(progress, 0.0);
	AnchorPane.setLeftAnchor(progress, 0.0);
    	AnchorPane.setRightAnchor(progress, 0.0);
    	AnchorPane.setBottomAnchor(progress, 0.0);
}
 
源代码16 项目: charts   文件: GridTest.java
private Axis createTopXAxis(final double MIN, final double MAX, final boolean AUTO_SCALE) {
    Axis axis = new Axis(Orientation.HORIZONTAL, Position.TOP);
    axis.setMinValue(MIN);
    axis.setMaxValue(MAX);
    axis.setPrefHeight(AXIS_WIDTH);
    axis.setAutoScale(AUTO_SCALE);

    AnchorPane.setTopAnchor(axis, 25d);
    AnchorPane.setLeftAnchor(axis, 25d);
    AnchorPane.setRightAnchor(axis, 25d);

    return axis;
}
 
源代码17 项目: constellation   文件: TimelinePanel.java
/**
     * Creates organises the TimelinePanel's layers.
     */
    private void doLayout() {
        // Layer that contains the timelinechart component:
        final BorderPane timelinePane = new BorderPane();

        timelinePane.setCenter(timeline);
        // The layer that contains the time extent labels:
        final BorderPane labelsPane = new BorderPane();
        BorderPane.setAlignment(lowerTime, Pos.CENTER);
        BorderPane.setAlignment(upperTime, Pos.CENTER);
        BorderPane.setMargin(lowerTime, new Insets(-32.0, -40.0, 0.0, -60.0));
        BorderPane.setMargin(upperTime, new Insets(-32.0, -60.0, 0.0, -40.0));
        labelsPane.setLeft(lowerTime);
        labelsPane.setRight(upperTime);
        labelsPane.setMouseTransparent(true);

        // Layer that combines the newly constructed time-extents with the timeline layer:
        final StackPane stackPane = new StackPane();
        StackPane.setAlignment(labelsPane, Pos.CENTER);
//        extentLabelPane.maxHeightProperty().bind(stackPane.heightProperty());
        StackPane.setAlignment(timelinePane, Pos.CENTER);
//        timelinePane.prefHeightProperty().bind(stackPane.heightProperty());
        stackPane.setPadding(Insets.EMPTY);
        stackPane.getChildren().addAll(timelinePane, labelsPane);

        // Layout the menu bar and the timeline object:
        final VBox vbox = new VBox();
//        stackPane.prefHeightProperty().bind(vbox.heightProperty());
        VBox.setVgrow(toolbar, Priority.NEVER);
        VBox.setVgrow(stackPane, Priority.ALWAYS);
        vbox.getChildren().addAll(toolbar, stackPane);
        vbox.setAlignment(Pos.TOP_CENTER);
        vbox.setFillWidth(true);

        // Organise the inner pane:
        AnchorPane.setTopAnchor(vbox, 0d);
        AnchorPane.setBottomAnchor(vbox, 0d);
        AnchorPane.setLeftAnchor(vbox, 0d);
        AnchorPane.setRightAnchor(vbox, 0d);
        innerPane.getChildren().add(vbox);
        innerPane.prefHeightProperty().bind(super.heightProperty());
        innerPane.prefWidthProperty().bind(super.widthProperty());

        // Attach the inner pane to the root:
        this.getChildren().add(innerPane);
    }
 
源代码18 项目: bisq   文件: TradeStepView.java
protected TradeStepView(PendingTradesViewModel model) {
    this.model = model;
    preferences = model.dataModel.preferences;
    trade = model.dataModel.getTrade();
    checkNotNull(trade, "Trade must not be null at TradeStepView");

    ScrollPane scrollPane = new ScrollPane();
    scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
    scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
    scrollPane.setFitToHeight(true);
    scrollPane.setFitToWidth(true);

    AnchorPane.setLeftAnchor(scrollPane, 10d);
    AnchorPane.setRightAnchor(scrollPane, 10d);
    AnchorPane.setTopAnchor(scrollPane, 10d);
    AnchorPane.setBottomAnchor(scrollPane, 0d);

    getChildren().add(scrollPane);

    gridPane = new GridPane();

    gridPane.setHgap(Layout.GRID_GAP);
    gridPane.setVgap(Layout.GRID_GAP);
    ColumnConstraints columnConstraints1 = new ColumnConstraints();
    columnConstraints1.setHgrow(Priority.ALWAYS);

    ColumnConstraints columnConstraints2 = new ColumnConstraints();
    columnConstraints2.setHgrow(Priority.ALWAYS);

    gridPane.getColumnConstraints().addAll(columnConstraints1, columnConstraints2);

    scrollPane.setContent(gridPane);

    AnchorPane.setLeftAnchor(this, 0d);
    AnchorPane.setRightAnchor(this, 0d);
    AnchorPane.setTopAnchor(this, -10d);
    AnchorPane.setBottomAnchor(this, 0d);

    addContent();

    errorMessageListener = (observable, oldValue, newValue) -> {
        if (newValue != null)
            new Popup().error(newValue).show();
    };

    clockListener = new ClockWatcher.Listener() {
        @Override
        public void onSecondTick() {
        }

        @Override
        public void onMinuteTick() {
            updateTimeLeft();
        }
    };
}
 
源代码19 项目: pmd-designer   文件: MutableTabPane.java
private void makeAddButton() {
    // Basically we superimpose a transparent HBox over the TabPane
    // it needs to be done in a runLater because we need to access the
    // TabPane's header region, which is created by the TabPane's skin
    // on the first layout

    Region headersRegion = (Region) tabPane.lookup(".headers-region");

    // a pane that always has the size of the header region,
    // pushing the new tab button to its right
    Pane headerSizePane = new Pane();
    headerSizePane.setMouseTransparent(true);
    headerSizePane.prefWidthProperty().bind(headersRegion.widthProperty());

    // the new tab button
    Button newTabButton = new Button();
    newTabButton.getStyleClass().addAll("icon-button", "add-tab-button");
    newTabButton.setTooltip(new Tooltip("Add new tab"));
    newTabButton.setGraphic(new FontIcon("fas-plus"));
    newTabButton.onActionProperty().set(actionEvent -> addTabWithNewController());
    // bind bounds to a square that fits inside the header's region
    newTabButton.maxHeightProperty().bind(headersRegion.heightProperty());
    newTabButton.maxWidthProperty().bind(headersRegion.heightProperty());

    // the copy tab button
    Button copyButton = new Button();
    copyButton.getStyleClass().addAll("icon-button", "duplicate-tab-button");
    copyButton.setTooltip(new Tooltip("Duplicate current tab"));
    copyButton.setGraphic(new FontIcon("far-copy"));
    copyButton.onActionProperty().set(actionEvent -> {
        T cur = currentFocusedController().getValue();
        Function<? super T, ? extends T> copy = deepCopyFun.getValue();
        if (cur == null || copy == null) {
            addTabWithNewController();
        } else {
            addTabWithController(copy.apply(cur));
        }
    });
    // bind bounds to a square that fits inside the header's region
    copyButton.maxHeightProperty().bind(headersRegion.heightProperty());
    copyButton.maxWidthProperty().bind(headersRegion.heightProperty());

    copyButton.visibleProperty().bind(ReactfxUtil.isPresentProperty(deepCopyFun));
    copyButton.managedProperty().bind(copyButton.visibleProperty());

    // Rightmost node, grows to fill the rest of the horizontal space
    Pane spring = new Pane();
    spring.setMouseTransparent(true);
    HBox.setHgrow(spring, Priority.ALWAYS);

    HBox box = new HBox();
    box.getStylesheets().addAll(resolveResource("css/flat.css"), resolveResource("css/designer.css"));
    // makes the HBox's transparent regions click-through
    // https://stackoverflow.com/questions/16876083/javafx-pass-mouseevents-through-transparent-node-to-children
    box.setPickOnBounds(false);
    box.prefHeightProperty().bind(headersRegion.heightProperty());

    box.getChildren().addAll(headerSizePane, newTabButton, copyButton, spring);

    // Fits the HBox's size to the container
    AnchorPane.setTopAnchor(box, 0d);
    AnchorPane.setRightAnchor(box, 0d);
    AnchorPane.setLeftAnchor(box, 0d);

    // don't forget that
    this.getChildren().addAll(box);
}
 
源代码20 项目: dm3270   文件: TransfersStage.java
public TransfersStage (Screen screen)
{
  setTitle ("File Transfers");

  setOnCloseRequest (e -> closeWindow ());
  btnHide.setOnAction (e -> closeWindow ());

  tsoCommand = new TSOCommand ();
  screen.getFieldManager ().addScreenChangeListener (tsoCommand);

  datasetTab = new DatasetTab (screen, tsoCommand);
  jobTab = new BatchJobTab (screen, tsoCommand);
  filesTab = new FilesTab (screen, tsoCommand, prefs);
  commandsTab = new CommandsTab (screen, tsoCommand);
  transfersTab = new TransfersTab (screen, tsoCommand);
  tabPane.getTabs ().addAll (datasetTab, jobTab, filesTab, commandsTab, transfersTab);
  tabPane.setTabMinWidth (80);

  screenChangeListeners =
      Arrays.asList (datasetTab, jobTab, filesTab, commandsTab, transfersTab);
  keyboardStatusListeners =
      Arrays.asList (datasetTab, jobTab, filesTab, commandsTab, transfersTab);

  datasetTab.addDatasetSelectionListener (transfersTab);
  filesTab.addFileSelectionListener (transfersTab);
  jobTab.addJobSelectionListener (transfersTab);

  AnchorPane anchorPane = new AnchorPane ();
  AnchorPane.setLeftAnchor (tsoCommand.getBox (), 10.0);
  AnchorPane.setBottomAnchor (tsoCommand.getBox (), 10.0);
  AnchorPane.setTopAnchor (tsoCommand.getBox (), 10.0);
  AnchorPane.setTopAnchor (btnHide, 10.0);
  AnchorPane.setBottomAnchor (btnHide, 10.0);
  AnchorPane.setRightAnchor (btnHide, 10.0);
  anchorPane.getChildren ().addAll (tsoCommand.getBox (), btnHide);

  BorderPane borderPane = new BorderPane ();
  menuBar = filesTab.getMenuBar ();
  borderPane.setTop (menuBar);
  borderPane.setCenter (tabPane);
  borderPane.setBottom (anchorPane);

  menuBar.setUseSystemMenuBar (SYSTEM_MENUBAR);

  Scene scene = new Scene (borderPane, 800, 500);             // width/height
  setScene (scene);

  windowSaver = new WindowSaver (prefs, this, "DatasetStage");
  windowSaver.restoreWindow ();

  tabPane.getSelectionModel ().selectedItemProperty ()
      .addListener ( (obs, oldSelection, newSelection) -> select (newSelection));

  tabPane.getSelectionModel ().select (datasetTab);
}