コード例 #1
0
ファイル: TabPane.java プロジェクト: daniel5556/mercury-irc
 public TabPane(ApplicationPane appPane) {
   this.appPane = appPane;
   getStylesheets().add(Mercury.class.getResource("/res/css/TabPane.css").toExternalForm());
   setMinWidth(200);
   setMaxWidth(200);
   final TabButtonPane buttonPane = new TabButtonPane();
   final VBox tabListBox = new VBox();
   tabListBox.getStyleClass().add("dark-pane");
   tabListBox.setId("tab-list");
   setVgrow(tabListBox, Priority.ALWAYS);
   tabList = new ListView<>();
   setVgrow(tabList, Priority.ALWAYS);
   selectionModel = tabList.getSelectionModel();
   selectionModel
       .selectedIndexProperty()
       .addListener(
           new ChangeListener<Number>() {
             @Override
             public void changed(
                 ObservableValue<? extends Number> observableValue,
                 Number number,
                 Number number2) {
               if (number2 == 0) {
                 tabList.getStyleClass().add("first");
               } else {
                 tabList.getStyleClass().remove("first");
               }
             }
           });
   selectionModel.selectedItemProperty().addListener(new TabClickedListener());
   tabList.setCellFactory(
       new Callback<ListView<Tab>, ListCell<Tab>>() {
         public ListCell<Tab> call(ListView<Tab> tabListView) {
           return new TabCell();
         }
       });
   tabListBox.getChildren().add(tabList);
   getChildren().addAll(buttonPane, tabListBox);
 }