public void changed(ObservableValue<? extends Tab> observable, Tab oldValue, Tab newValue) { System.out.println("Tab selected: " + newValue.getText()); if (newValue.getContent() == null) { try { Parent root = (Parent) newValue.getContent();
System.out.println("Found Tab Pane..."); for (Tab t : ((TabPane)n).getTabs()) { if (t.getContent() == label) { System.out.println("Tab containing label: "+t.getText());
table=new BillingTable(); TabPane tabs=new TabPane(); tabs.setPrefWidth(400); tabs.setPrefHeight(400); Tab tab = new Tab(); tab.setText("Tab1"); Tab tab1 = new Tab(); tab1.setText("Tab2"); Tab tab2 = new Tab(); tab2.setText("Tab3"); tabs.getTabs().add(tab); tabs.getTabs().add(tab1); tabs.getTabs().add(tab2); TreeTableView<BillingTable> tt=new TreeTableView<BillingTable>(); tt.getColumns().add(new TreeTableColumn<BillingTable,String>(){}); tt.setRoot(new TreeItem<BillingTable>()); tab.setContent(tt); tab1.setContent(tt); tab2.setContent(tt); tabs.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Tab>() { @Override public void changed(ObservableValue<? extends Tab> ov, Tab oldTab, Tab newTab) { System.out.println("Tab Selection changed"); TreeTableView<BillingTable> treeTableView = (TreeTableView<BillingTable>) newTab.getContent(); table = treeTableView.getRoot().getValue(); } });
private Tab createTab(String text) { final Tab tab = new Tab(); final Label label = new Label(text); tab.setGraphic(label); label.setOnDragDone(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { if (event.getAcceptedTransferMode() == null) { final StackPane content = (StackPane) tab.getContent(); tab.setContent(null); Stage stage = new Stage(); stage.setScene(new Scene(content)); stage.show(); tab.getTabPane().getTabs().remove(tab); event.consume(); } } }); }