Vertical menu for configuration panel

后端 未结 3 1233
渐次进展
渐次进展 2021-01-15 00:04

I would like to create configuration panel like this example:

\"enter

The prob

相关标签:
3条回答
  • 2021-01-15 00:08

    Try Accordion control in javaFX Scene Builder.Following is XML Code of it.

    <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"     minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
       <children>
      <Accordion layoutX="14.0" layoutY="32.0">
        <panes>
          <TitledPane animated="false" text="untitled 1">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
            </content>
          </TitledPane>
          <TitledPane animated="false" text="untitled 2">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
            </content>
          </TitledPane>
          <TitledPane animated="false" text="untitled 3">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
            </content>
          </TitledPane>
        </panes>
      </Accordion>
     </children>
    </AnchorPane>
    
    0 讨论(0)
  • 2021-01-15 00:08

    Old question but it might still help somebody.

    I wrote a piece about a custom vertical menu, take a look, I think you could use it to build your configuration panel.

    http://synappse.co/blog/vertical-stateful-jfxtabpane-with-icons-in-javafx/

    0 讨论(0)
  • 2021-01-15 00:17
    package verticalmenubar;
    
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Accordion;
    import javafx.scene.control.Button;
    import javafx.scene.control.TabPane;
    import javafx.scene.control.TitledPane;
    import javafx.scene.layout.BorderPane;
    import javafx.scene.layout.Pane;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    
    /**
     *
     * @author reegan
     */
    public class VerticalMenuBar extends Application {
        public static TabPane tabPanel;
        @Override
        public void start(Stage primaryStage) {
            BorderPane root = buildView();
            Scene scene = new Scene(root, 300, 250);        
            primaryStage.setTitle("Hello World!");
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        BorderPane buildView() {
            BorderPane root = new BorderPane();
            tabPanel = new TabPane();
            root.setCenter(tabPanel);
            Accordion accordion = new Accordion();
            Pane pane = null;
            TitledPane tiledPane;
            General1Bar general1 = new General1Bar();
            pane= general1.getView();
            tiledPane = new TitledPane("General1", pane);
            accordion.getPanes().add(tiledPane);
    
            General2Bar general2 = new General2Bar();
            pane = general2.getView();
             tiledPane = new TitledPane("General2", pane);
            accordion.getPanes().add(tiledPane);
    
            General3Bar general3 = new General3Bar();
            pane = general3.getView();
            tiledPane = new TitledPane("General3", pane);
            accordion.getPanes().add(tiledPane);
    
            root.setLeft(accordion);
            return root;
        }
    
    
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    
    class General1Bar {
    
        public Pane getView() {
            Pane p = new Pane();
            Button button = new Button("One");
            Button button1 = new Button("Two");
            VBox vBox = new VBox(5);
            vBox.getChildren().addAll(button,button1);
            p.getChildren().addAll(vBox);
            return p;
        }
    
    }
    
    class General2Bar {
         public Pane getView() {
            Pane p = new Pane();
            Button button = new Button("One");
            Button button1 = new Button("Two");
            VBox vBox = new VBox(5);
            vBox.getChildren().addAll(button,button1);
            p.getChildren().addAll(vBox);
            return p;
        }
    
    }
    
    class General3Bar {
        public Pane getView() {
            Pane p = new Pane();
            Button button = new Button("One");
            Button button1 = new Button("Two");
            VBox vBox = new VBox(5);
            vBox.getChildren().addAll(button,button1);
            p.getChildren().addAll(vBox);
            return p;
        }
    }
    

    I am newly in javafx. please check this code if any wrong is there tell me..

    0 讨论(0)
提交回复
热议问题