@SuppressWarnings("unchecked") @Override public String _getValue() { TextFieldTreeTableCell<?, ?> cell = (TextFieldTreeTableCell<?, ?>) node; @SuppressWarnings("rawtypes") StringConverter converter = cell.getConverter(); if (converter != null) { return converter.toString(cell.getItem()); } return cell.getItem().toString(); }
private void setTextFieldCellEditor(boolean isCustom) { for (Iterator it = testedControl.getColumns().iterator(); it.hasNext();) { TreeTableColumn col = (TreeTableColumn) it.next(); if (!isCustom) { col.setCellFactory(TextFieldTreeTableCell.forTreeTableColumn()); } else { col.setCellFactory(new Callback() { public Object call(Object p) { return new EditingTextFieldCell(); } }); } } }
private Callback<TreeTableColumn<Page,Object>,TreeTableCell<Page,Object>> createCellFactory(FxTreeTableColumn<Page> tc, Page.Field f) { switch(f) { case STATUS: return (x) -> new StatusCell(); default: return (x) -> new TextFieldTreeTableCell(tc.getConverter()); } }
@Test public void testGetTextFieldTreeTableCellAdjuster() { Adjuster adjuster = Adjuster.getAdjuster(TextFieldTreeTableCell.class); assertThat(adjuster, is(instanceOf(ControlAdjuster.class))); assertThat(adjuster.getNodeClass(), is(sameInstance(Control.class))); }
public void editClipAction(ActionEvent actionEvent) { MenuItem item = (MenuItem) actionEvent.getSource(); ContextMenu menu = item.getParentPopup(); TextFieldTreeTableCell cell = (TextFieldTreeTableCell) menu.getOwnerNode(); logger.debug("owner node " + cell); cell.startEdit(); }
@Override public void start(Stage stage) throws Exception { final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); TreeTableColumn<Person, String> numberCol = new TreeTableColumn<>("#"); numberCol.setCellValueFactory(p -> p.getValue().getValue().hierarchyProperty()); numberCol.setPrefWidth(100); numberCol.setCellFactory(TextFieldTreeTableCell.<Person>forTreeTableColumn()); TreeTableColumn<Person, String> firstNameCol = new TreeTableColumn<>("First Name"); firstNameCol.setPrefWidth(150); firstNameCol.setEditable(true); firstNameCol.setCellValueFactory(p -> p.getValue().getValue().firstNameProperty()); firstNameCol.setCellFactory(TextFieldTreeTableCell.<Person>forTreeTableColumn()); TreeTableColumn<Person, String> lastNameCol = new TreeTableColumn<>("Last Name"); lastNameCol.setPrefWidth(150); lastNameCol.setEditable(true); lastNameCol.setCellValueFactory(p -> p.getValue().getValue().lastNameProperty()); lastNameCol.setCellFactory(TextFieldTreeTableCell.<Person>forTreeTableColumn()); TreeTableColumn<Person, Date> birthdayCol = new TreeTableColumn<>("Birthday"); birthdayCol.setPrefWidth(250); birthdayCol.setCellValueFactory(p -> p.getValue().getValue().birthdayProperty()); birthdayCol.setEditable(false); birthdayCol.setCellFactory(TextFieldTreeTableCell.<Person, Date>forTreeTableColumn(new StringConverter<Date>() { @Override public String toString(Date t) { return df.format(t); } @Override public Date fromString(String string) { try { return df.parse(string); } catch (ParseException ex) { return null; } } })); final TreeTableView<Person> treeTableView = new TreeTableView<Person>(); treeTableView.setEditable(true); treeTableView.setId(TREE_TABLE_VIEW_ID); treeTableView.setRoot(new TreeItem(new Person("0", "Root", "Root", new Date(r.nextLong() % 946080000000L)))); addContent(treeTableView.getRoot(), 2, 4, "0"); treeTableView.getColumns().setAll(numberCol, firstNameCol, lastNameCol, birthdayCol); treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); treeTableView.getSelectionModel().setCellSelectionEnabled(true); treeTableView.getSelectionModel().select(5, numberCol); VBox vBox = new VBox(); vBox.getChildren().setAll(treeTableView); Scene scene = new Scene(vBox, 800, 500); stage.setScene(scene); stage.show(); }