Как создать горизонтальный аккордеон javafx?

Мне нужно создать горизонтальный аккордеон, метка которого в titlePane и компонент в панели содержимого должны быть горизонтальными. В моем коде я попытался повернуть аккордеон и мой узел в контенте, но проблема в том, что аккордеон не расширяется, чтобы показать все содержимое TitlePane. Также я не знаю, как повернуть заголовок в заголовке.

кто нибудь знает как это сделать?

public class HorizontalAccordionSample extends Application {
    final String[] types = new String[] { "Home", "Works", "Office",
            "Home   Work Office" };
    final String[] subType = new String[] { "Infusion", "Non Infusion",
            "Combination" };
    final TitledPane[] tps = new TitledPane[types.length];

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

    @Override
    public void start(Stage stage) {
        stage.setTitle("TitledPane");
        Scene scene = new Scene(new Group(), 80, 180);
        scene.setFill(Color.GHOSTWHITE);

        final Accordion accordion = new Accordion();
        accordion.setRotate(-90);

        for (int i = 0; i < types.length; i++) {
            tps[i] = new TitledPane(types[i], createNode());
        }

        accordion.getPanes().addAll(tps);
        accordion.setExpandedPane(tps[1]);

        Group root = (Group) scene.getRoot();
        root.getChildren().add(accordion);
        stage.setScene(scene);
        stage.show();
    }

    private Node createNode() {

        FlowPane flow = new FlowPane();
        flow.setRotate(90);
        flow.setVgap(8);
        flow.setHgap(4);
        // flow.setPrefWrapLength(800);

        for (String sub : subType) {
            RadioButton radioButton = new RadioButton(sub);
            // radioButton.setRotate(- 90);
            flow.getChildren().add(radioButton);
        }
        return flow;
    }
}

0 ответов

Другие вопросы по тегам