Возможно ли разделить файлы javafx ui? - PullRequest
0 голосов
/ 19 октября 2019

Я создаю приложение с помощью javafx и хочу разделить пользовательские файлы. Как: вкладки в отдельном файле и просто импортировать и создать новую вкладку в главном приложении.

Я пробовал, но когда я пытаюсь установить его в основном приложении, как borderPane.setCenter(tabPane);, он говорит, что The method setCenter(Node) in the type BorderPane is not applicable for the arguments (Tabs)

Код приложения Main.java

import javafx.application.Application;
import javafx.scene.layout.*;
import javafx.scene.paint.*;
import javafx.scene.*;
import javafx.stage.Stage;

import utils.Tabs;

public class Main extends Application {

    @Override
    public void start(Stage window) throws Exception {
        Group root = new Group();
        Scene scene = new Scene(root, 400, 250, Color.WHITE);
        BorderPane borderPane = new BorderPane();
        Tabs tabs = new Tabs();

        // bind to take available space
        borderPane.prefHeightProperty().bind(scene.heightProperty());
        borderPane.prefWidthProperty().bind(scene.widthProperty());

        borderPane.setCenter(tabs);

        root.getChildren().add(borderPane);
        window.setTitle("Computer Security — Demos");
        window.setScene(scene);
        window.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Tabs.java

import javafx.geometry.Pos;
import javafx.scene.control.Label;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.HBox;

public class Tabs extends TabPane {

    public Tabs() {
        TabPane tabPane = new TabPane();

        Tab tab = new Tab("Tab: ");
        HBox hbox = new HBox();
        hbox.getChildren().add(new Label("Tab"));
        hbox.setAlignment(Pos.CENTER);
        tab.setContent(hbox);
        tabPane.getTabs().add(tab);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...