类javafx.scene.control.cell.TextFieldTableCell源码实例Demo

下面列出了怎么用javafx.scene.control.cell.TextFieldTableCell的API类实例代码及写法,或者点击链接到github查看源代码。

@FXML
private void initialize() {

    tableLookupValues.setEditable(true);
    valueColumn.setCellValueFactory(cell-> new ReadOnlyObjectWrapper<>(cell.getValue().getKey()));
    valueColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));
    valueColumn.setOnEditCommit(event -> {
        Double newKey = event.getNewValue();
        Double oldKey = event.getOldValue();
        lookupTable.put(newKey,lookupTable.get(oldKey));
        lookupTable.remove(oldKey);
        updateOBList(lookupTable);
    });

    colorColumn.setCellValueFactory(cell-> new ReadOnlyObjectWrapper<>(cell.getValue().getValue()));
    colorColumn.setCellFactory(column -> new ColorTableCell<InterpolatingLookupPaintScaleRow>(column));
    colorColumn.setOnEditCommit(event -> {
        Color newColor = event.getNewValue();
        Double key =  event.getRowValue().getKey();
        lookupTable.put(key,newColor);
        updateOBList(lookupTable);
    });

}
 
源代码2 项目: phoebus   文件: FormulaPane.java
private TableView<InputItem> createInputs()
{
    TableColumn<InputItem, String> col = new TableColumn<>(Messages.FormulaTabInput);
    col.setCellValueFactory(c ->  c.getValue().input_name);
    input_table.getColumns().add(col);

    col = new TableColumn<>(Messages.FormulaTabVariable);
    col.setCellValueFactory(c ->  c.getValue().variable_name);
    col.setCellFactory(TextFieldTableCell.forTableColumn());
    // When variable is renamed, re-evaluate formula
    col.setOnEditCommit(event -> parseFormula());
    col.setEditable(true);
    input_table.getColumns().add(col);

    input_table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
    input_table.setTooltip(new Tooltip(Messages.FormulaTabTT));
    input_table.setEditable(true);
    // Double-click (on input column) adds that variable name to formula
    input_table.addEventHandler(MouseEvent.MOUSE_PRESSED, event ->
    {
        if (event.getClickCount() == 2)
            insert(input_table.getSelectionModel().getSelectedItem().variable_name.get());
    });

    return input_table;
}
 
源代码3 项目: zest-writer   文件: TableController.java
private void addCol() {
    TableColumn tc = new TableColumn();
    tc.setEditable(true);
    tc.setCellValueFactory(param -> {
        CellDataFeatures<ZRow, String> dtf = (CellDataFeatures<ZRow, String>) param;
        return new SimpleStringProperty(dtf.getValue().getRow().get(0));
    });

    tc.setCellFactory(TextFieldTableCell.forTableColumn());
    tc.setOnEditCommit(t -> {
        CellEditEvent<ZRow, String> evt = (CellEditEvent<ZRow, String>) t;
        List<String> row = evt.getTableView().getItems().get(evt.getTablePosition().getRow()).getRow();
        row.set(evt.getTablePosition().getColumn(), evt.getNewValue());
    });
    tc.setPrefWidth(150);
    TextField txf = new TextField();
    txf.setPrefWidth(150);
    txf.setPromptText(Configuration.getBundle().getString("ui.dialog.table_editor.colon") +
            (tableView.getColumns().size()+1));
    tc.setGraphic(txf);
    tableView.getColumns().addAll(tc);
    postAddColumn();
}
 
源代码4 项目: SONDY   文件: EventDetectionUI.java
public final void initializeParameterTable(){
    parameterTable.setEditable(true);
    TableColumn keyColumn = new TableColumn("Parameter");
    keyColumn.setMinWidth(Main.columnWidthRIGHT/2-1);
    keyColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
    TableColumn valueColumn = new TableColumn("Value");
    valueColumn.setMinWidth(Main.columnWidthRIGHT/2-1);
    valueColumn.setCellFactory(TextFieldTableCell.forTableColumn());
    valueColumn.setCellValueFactory(new PropertyValueFactory<>("value")); 
    valueColumn.setOnEditCommit(
        new EventHandler<CellEditEvent<Parameter, String>>() {
            @Override
            public void handle(CellEditEvent<Parameter, String> t) {
                ((Parameter) t.getTableView().getItems().get(t.getTablePosition().getRow())).setValue(t.getNewValue());
            }
        }
    );
    parameterTable.getColumns().addAll(keyColumn,valueColumn);
}
 
源代码5 项目: SONDY   文件: InfluenceAnalysisUI.java
public final void initializeParameterTable(){
    parameterTable.setEditable(true);
    TableColumn keyColumn = new TableColumn("Parameter");
    keyColumn.setMinWidth(Main.columnWidthRIGHT/2-1);
    keyColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
    TableColumn valueColumn = new TableColumn("Value");
    valueColumn.setMinWidth(Main.columnWidthRIGHT/2-1);
    valueColumn.setCellFactory(TextFieldTableCell.forTableColumn());
    valueColumn.setCellValueFactory(new PropertyValueFactory<>("value")); 
    valueColumn.setOnEditCommit(
        new EventHandler<TableColumn.CellEditEvent<Parameter, String>>() {
            @Override
            public void handle(TableColumn.CellEditEvent<Parameter, String> t) {
                ((Parameter) t.getTableView().getItems().get(t.getTablePosition().getRow())).setValue(t.getNewValue());
            }
        }
    );
    parameterTable.getColumns().addAll(keyColumn,valueColumn);
}
 
源代码6 项目: marathonv5   文件: RFXTextFieldTableCell.java
@SuppressWarnings("unchecked")
@Override
public String _getValue() {
    TextFieldTableCell<?, ?> cell = (TextFieldTableCell<?, ?>) node;
    @SuppressWarnings("rawtypes")
    StringConverter converter = cell.getConverter();
    if (converter != null) {
        return converter.toString(cell.getItem());
    }
    return cell.getItem().toString();
}
 
源代码7 项目: neural-style-gui   文件: MainController.java
private void setupContentLayersTable() {
    log.log(Level.FINER, "Setting content layer table list.");
    contentLayersTable.setItems(contentLayers);
    contentLayersTable.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

    log.log(Level.FINER, "Setting content layer table selection listener.");
    EventStreams.changesOf(contentLayers).subscribe(change -> {
        log.log(Level.FINE, "contentLayers changed");

        List<NeuralBoolean> selectedContentLayers = contentLayers.stream()
                .filter(NeuralBoolean::getValue)
                .collect(Collectors.toList());

        String[] newContentLayers = new String[selectedContentLayers.size()];
        for (int i = 0; i < selectedContentLayers.size(); i++)
            newContentLayers[i] = selectedContentLayers.get(i).getName();
        neuralStyle.setContentLayers(newContentLayers);

        toggleStyleButtons();
    });

    log.log(Level.FINER, "Setting style layer table shortcut listener");
    EventStreams.eventsOf(contentLayersTable, KeyEvent.KEY_RELEASED).filter(spaceBar::match).subscribe(keyEvent -> {
        ObservableList<NeuralBoolean> selectedStyleLayers =
                contentLayersTable.getSelectionModel().getSelectedItems();
        for (NeuralBoolean neuralLayer : selectedStyleLayers)
            neuralLayer.setValue(!neuralLayer.getValue());
    });

    log.log(Level.FINER, "Setting content layer table column factories.");
    contentLayersTableSelected.setCellValueFactory(new PropertyValueFactory<>("value"));
    contentLayersTableSelected.setCellFactory(CheckBoxTableCell.forTableColumn(contentLayersTableSelected));

    contentLayersTableName.setCellValueFactory(new PropertyValueFactory<>("name"));
    contentLayersTableName.setCellFactory(TextFieldTableCell.forTableColumn());
}
 
public void initialize() {

    final ObservableList<MsSpectrumType> renderingChoices =
        FXCollections.observableArrayList(MsSpectrumType.CENTROIDED, MsSpectrumType.PROFILE);
    renderingTypeColumn.setCellFactory(ChoiceBoxTableCell.forTableColumn(renderingChoices));

    colorColumn.setCellFactory(column -> new ColorTableCell<MsSpectrumDataSet>(column));

    lineThicknessColumn
        .setCellFactory(column -> new SpinnerTableCell<MsSpectrumDataSet>(column, 1, 5));

    intensityScaleColumn.setCellFactory(TextFieldTableCell.forTableColumn(
        new NumberStringConverter(MZmineCore.getConfiguration().getIntensityFormat())));

    showDataPointsColumn
        .setCellFactory(column -> new CheckBoxTableCell<MsSpectrumDataSet, Boolean>() {
          {
            tableRowProperty().addListener(e -> {
              TableRow<?> row = getTableRow();
              if (row == null)
                return;
              MsSpectrumDataSet dataSet = (MsSpectrumDataSet) row.getItem();
              if (dataSet == null)
                return;
              disableProperty()
                  .bind(dataSet.renderingTypeProperty().isEqualTo(MsSpectrumType.CENTROIDED));

            });
          }
        });
  }
 
@FXML
	public void initialize() {
		
		btnSave.disableProperty().bind( dirtyFlag.not() );
		
		// id is read-only
/*		tcId.setCellValueFactory(new PropertyValueFactory<MyObject,Number>("id") {

			@Override
			public ObservableValue<Number> call(CellDataFeatures<MyObject, Number> param) {
				return new ReadOnlyObjectWrapper<Number>(param.getValue().getId());
			}
			
		});		
*/
		tcId.setCellValueFactory(new PropertyValueFactory<MyObject,Number>("id"));		
		
		tcData.setCellValueFactory(new PropertyValueFactory<MyObject,String>("data"){			
			@Override
			public ObservableValue<String> call(CellDataFeatures<MyObject, String> param) {
				System.out.println("pvCounter=" + pvCounter++);
				return new ReadOnlyObjectWrapper<String>(param.getValue().getData());
			}
		
		});
		tcData.setCellFactory(TextFieldTableCell.forTableColumn());				
		tcData.setOnEditCommit( dataEditCommitHandler );		
		
	}
 
源代码10 项目: ShootOFF   文件: TagEditorPane.java
@SuppressWarnings("unchecked")
public TagEditorPane(Map<String, String> tags) {
	tagTable.setEditable(true);
	tagTable.setPrefHeight(200);
	tagTable.setPrefWidth(200);

	final TableColumn<Tag, String> nameCol = new TableColumn<>("Name");
	nameCol.setCellValueFactory(new PropertyValueFactory<Tag, String>("name"));
	nameCol.setCellFactory(TextFieldTableCell.<Tag> forTableColumn());
	nameCol.setOnEditCommit((t) -> {
		t.getTableView().getItems().get(t.getTablePosition().getRow()).setName(t.getNewValue());
	});

	final TableColumn<Tag, String> valueCol = new TableColumn<>("Value");
	valueCol.setCellFactory(TextFieldTableCell.<Tag> forTableColumn());
	valueCol.setCellValueFactory(new PropertyValueFactory<Tag, String>("value"));
	valueCol.setOnEditCommit((t) -> {
		t.getTableView().getItems().get(t.getTablePosition().getRow()).setValue(t.getNewValue());
	});

	tagTable.getColumns().addAll(nameCol, valueCol);
	final ObservableList<Tag> data = FXCollections.observableArrayList();

	for (final Entry<String, String> entry : tags.entrySet())
		data.add(new Tag(entry.getKey(), entry.getValue()));

	tagTable.setItems(data);

	tagTable.setOnMouseClicked((event) -> {
		if (event.getClickCount() == 2) {
			data.add(new Tag("", ""));
		}
	});

	getChildren().add(tagTable);
}
 
@FXML
void initialize() {
    // 海域
    this.name.setCellValueFactory(new PropertyValueFactory<>("name"));
    this.name.setCellFactory(TextFieldTableCell.forTableColumn());
    // 海域Exp
    this.exp.setCellValueFactory(new PropertyValueFactory<>("exp"));
    this.exp.setCellFactory(TextFieldTableCell.forTableColumn(new StringConverter<Integer>() {
        @Override
        public Integer fromString(String string) {
            try {
                return Integer.parseInt(string);
            } catch (Exception e) {
                return 0;
            }
        }

        @Override
        public String toString(Integer val) {
            return Integer.toString(val);
        }
    }));
    // 削除ボタン
    this.cmd.setCellValueFactory(new PropertyValueFactory<>("name"));
    this.cmd.setCellFactory(p -> new CmdCell());

    this.table.setItems(AppSeaAreaExpCollection.get()
            .getList()
            .stream()
            .map(SeaAreaExpItem::toItem)
            .collect(Collectors.toCollection(FXCollections::observableArrayList)));
}
 
private TableColumn<ObservableList<StringProperty>, String> createColumn(
            final int columnIndex, String columnTitle) {
        TableColumn<ObservableList<StringProperty>, String> column = new TableColumn<>();
        String title;
        if (columnTitle == null || columnTitle.trim().length() == 0) {
            title = "Column " + (columnIndex + 1);
        } else {
            title = columnTitle;
        }
        column.setText(title);
        column.setCellValueFactory(cellDataFeatures -> {
                    ObservableList<StringProperty> values = cellDataFeatures.getValue();
                    if (columnIndex >= values.size()) {
                        return new SimpleStringProperty("");
                    } else {
                        return cellDataFeatures.getValue().get(columnIndex);
                    }
                });
        if(columnIndex!=0){
            column.setCellFactory(TextFieldTableCell.forTableColumn());
            column.setOnEditCommit(
                    event->{
//                        String oldParaVal = event.getOldValue();
                        String newParaVal = event.getNewValue();
                        String parameterName =  event.getTableColumn().getText();
                        UserParameter<?,?> parameter = currentProject.getParameterByName(parameterName);
                        int rowNo = parameterTable.getSelectionModel().selectedIndexProperty().get();
                        String fileName = parameterTable.getItems().get(rowNo).get(0).getValue();
                        RawDataFile rawDataFile = null;
                        for(RawDataFile file:fileList){
                            if(file.getName().equals(fileName)){
                                rawDataFile = file;
                                break;
                            }
                        }
                        currentProject.setParameterValue(parameter,rawDataFile,newParaVal);
                        updateParametersToTable();
                    }
            );

        }
        column.setMinWidth(175.0);
        return column;
    }
 
源代码13 项目: mzmine3   文件: ElementsTableComponent.java
public ElementsTableComponent() {

    elementsValueTable.setEditable(true);
    this.setMaxHeight(200);
    elementsValueTable.setMaxHeight(200);
    elementsValueTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);



// allows the individual cells to be selected
    elementsValueTable.getSelectionModel().cellSelectionEnabledProperty().set(true);
    TableColumn<ElementsValue, String> elementCol = new TableColumn("Element");
    TableColumn<ElementsValue, String> maxCol = new TableColumn("Max");
    TableColumn<ElementsValue, String> minCol = new TableColumn("Min");

    // Make Column editable
    maxCol.setCellFactory(TextFieldTableCell.forTableColumn());
    maxCol.setOnEditCommit(event -> event.getTableView().getItems().get(event.getTablePosition().
            getRow()).setMax(event.getNewValue()));
    minCol.setCellFactory(TextFieldTableCell.forTableColumn());
    minCol.setOnEditCommit(event -> event.getTableView().getItems().get(event.getTablePosition().
            getRow()).setMin(event.getNewValue()));

    elementCol.setCellValueFactory(cell-> new ReadOnlyObjectWrapper<>(cell.getValue().getIsotope().getSymbol()));
    maxCol.setCellValueFactory(col-> {
      String max = String.valueOf(col.getValue().getMax());
      return new ReadOnlyObjectWrapper<>(max);
    });

    minCol.setCellValueFactory(cell-> new ReadOnlyObjectWrapper<>(cell.getValue().getMin()));

    minCol.setOnEditCommit(event -> event.getTableView().getItems().get(event.getTablePosition().
            getRow()).setMin(event.getNewValue()));


    elementsValueTable.setItems(elementsValues);

    final Button addButton = new Button("Add");
    final Button removeButton = new Button("Remove");
    // Add event
    addButton.setOnAction(
        t -> {
          PeriodicTableDialog dialog = new PeriodicTableDialog();
          dialog.show();
          IIsotope chosenIsotope = dialog.getSelectedIsotope();
          if (chosenIsotope == null) return;
          ElementsValue elementsValue = new ElementsValue(chosenIsotope, "100", "0");
            elementsValues.add(elementsValue);
        });

    // Remove event
    removeButton.setOnAction(t -> {
      ElementsValue element = elementsValueTable.getSelectionModel().getSelectedItem();
        elementsValues.remove(element);

    });

    this.setPadding(new Insets(5, 0, 0, 5));

    elementsValueTable.getColumns().addAll(elementCol, minCol, maxCol);
    VBox vBox = new VBox();
    vBox.getChildren().addAll(addButton, removeButton);
    vBox.setSpacing(10);

    this.getChildren().addAll(elementsValueTable,vBox);
    this.setHgap(10d);
    this.setAlignment(Pos.BASELINE_RIGHT);
  }
 
源代码14 项目: mzmine3   文件: SQLColumnSettingsComponent.java
public SQLColumnSettingsComponent() {
    columnsTable.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

    value = new SQLColumnSettings();
    TableColumn<SQLRowObject,String> columnName=new TableColumn<SQLRowObject,String> (value.getColumnName(0));
    TableColumn<SQLRowObject,SQLExportDataType>  columnType=new TableColumn<SQLRowObject,SQLExportDataType> (value.getColumnName(1));
    TableColumn<SQLRowObject,String>  columnValue= new TableColumn<SQLRowObject,String> (value.getColumnName(2));

    columnName.setCellValueFactory(new PropertyValueFactory<>("Name")); //this is needed during connection to a database
    columnType.setCellValueFactory(new PropertyValueFactory<>("Type"));
    columnValue.setCellValueFactory(new PropertyValueFactory<>("Value"));

    columnsTable.getColumns().addAll(columnName,columnType,columnValue);  //added all the columns in the table
    setValue(value);
    columnsTable.setStyle("-fx-selection-bar: #3399FF; -fx-selection-bar-non-focused: #E3E3E3;"); //CSS color change on selection of row


    columnsTable.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
    columnName.setSortable(false);
    columnValue.setSortable(false);
    columnType.setSortable(false);

    columnName.setReorderable(false);
    columnValue.setReorderable(false);
    columnType.setReorderable(false);

    columnsTable.setPrefSize(550, 220);
    columnsTable.setFixedCellSize(columnsTable.getFixedCellSize()+20);
    columnsTable.setStyle("-fx-font: 10 \"Plain\"");

    //Setting action event on cells
    columnsTable.getSelectionModel().setCellSelectionEnabled(true);  //individual cell selection enabled
    columnsTable.setEditable(true);

    //Editors on each cell
  columnName.setCellFactory(TextFieldTableCell.<SQLRowObject>forTableColumn());
  columnName.setOnEditCommit(event -> {
    getValue().setValueAt(event.getNewValue(), event.getTablePosition().getRow(), 0);
    setValue(getValue()); //refresh the table
  });

  columnValue.setCellFactory(TextFieldTableCell.<SQLRowObject>forTableColumn());
  columnValue.setOnEditCommit(event -> {
    getValue().setValueAt(event.getNewValue().toUpperCase(), event.getTablePosition().getRow(), 2);
    setValue(getValue()); //refresh the table
  });

  ArrayList<SQLExportDataType> exportDataTypeValues=new ArrayList<SQLExportDataType>(Arrays.asList(SQLExportDataType.values()));

  columnType.setCellFactory(ComboBoxTableCell.forTableColumn(FXCollections.observableArrayList(SQLExportDataType.values())));
  columnType.setOnEditCommit(event -> {
    boolean selected = event.getNewValue().isSelectableValue();
    if(!selected){ //case of  invalid(Title) datatype selection
      getValue().setValueAt(exportDataTypeValues.get(exportDataTypeValues.indexOf(event.getNewValue())+1),event.getTablePosition().getRow(),1);
    }
    else {
      getValue().setValueAt(event.getNewValue(), event.getTablePosition().getRow(), 1);
    }
    setValue(getValue());
  });

    // Add buttons
    VBox buttonsPanel=new VBox(20);
    addColumnButton=new Button("Add");
    removeColumnButton=new Button("Remove");
    addColumnButton.setOnAction(this::actionPerformed);
    removeColumnButton.setOnAction(this::actionPerformed);
    buttonsPanel.getChildren().addAll(addColumnButton,removeColumnButton);


    this.setRight(buttonsPanel);
    this.setCenter(columnsTable);
    BorderPane.setMargin(buttonsPanel, new Insets(10));

}
 
/**
 * 展开字段
 */
public void expandTableViewColumns(VBox selectedVBox) {
    HBox hBox = new HBox();
    hBox.setAlignment(Pos.CENTER);

    String tableName = ((Label) (((HBox) selectedVBox.getChildren().get(0))).getChildren().get(0)).getText();
    TableView<Column> columnTableView = new TableView<>(FXCollections.observableArrayList(BaseConstants.selectedTableNameTableMap.get(tableName).getColumns()));
    columnTableView.setEditable(true);
    columnTableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

    ReadOnlyDoubleProperty widthBind = hBox.widthProperty();

    TableColumn<Column, String> tcColumnNam = new TableColumn<>("字段名");
    tcColumnNam.setCellValueFactory(param -> new SimpleStringProperty(param.getValue().getColumnName()));
    tcColumnNam.setSortable(false);
    tcColumnNam.prefWidthProperty().bind(widthBind.multiply(0.16));
    tcColumnNam.getStyleClass().setAll("myColumn");

    TableColumn<Column, String> tcType = new TableColumn<>("类型");
    tcType.setCellValueFactory(param -> new SimpleStringProperty(param.getValue().getType()));
    tcType.setSortable(false);
    tcType.prefWidthProperty().bind(widthBind.multiply(0.16));
    tcType.getStyleClass().setAll("myColumn");

    TableColumn<Column, String> property = new TableColumn<>("property");
    property.setCellFactory(TextFieldTableCell.forTableColumn());
    property.setCellValueFactory(param -> new SimpleStringProperty(param.getValue().getColumnOverride().getProperty()));
    property.setOnEditCommit(event -> {
        event.getRowValue().getColumnOverride().setProperty(event.getNewValue());
        BaseConstants.tableNameIsOverrideRecodeMap.put(tableName, true);
    });
    property.setSortable(false);
    property.prefWidthProperty().bind(widthBind.multiply(0.16));
    property.getStyleClass().setAll("myColumn");

    TableColumn<Column, String> javaType = new TableColumn<>("java type");
    javaType.setCellFactory(TextFieldTableCell.forTableColumn());
    javaType.setCellValueFactory(param -> new SimpleStringProperty(param.getValue().getColumnOverride().getJavaType()));
    javaType.setOnEditCommit(event -> {
        event.getRowValue().getColumnOverride().setJavaType(event.getNewValue());
        BaseConstants.tableNameIsOverrideRecodeMap.put(tableName, true);
    });
    javaType.setSortable(false);
    javaType.prefWidthProperty().bind(widthBind.multiply(0.2));
    javaType.getStyleClass().setAll("myColumn");

    TableColumn<Column, String> typeHandler = new TableColumn<>("type handler");
    typeHandler.setCellFactory(TextFieldTableCell.forTableColumn());
    typeHandler.setCellValueFactory(param -> new SimpleStringProperty(param.getValue().getColumnOverride().getTypeHandler()));
    typeHandler.setOnEditCommit(event -> {
        event.getRowValue().getColumnOverride().setTypeHandler(event.getNewValue());
        BaseConstants.tableNameIsOverrideRecodeMap.put(tableName, true);
    });
    typeHandler.setSortable(false);
    typeHandler.prefWidthProperty().bind(widthBind.multiply(0.22));
    typeHandler.getStyleClass().setAll("myColumn");

    TableColumn<Column, Boolean> ignoreCheckBox = new TableColumn<>("是否忽略");
    ignoreCheckBox.setCellFactory(CheckBoxTableCell.forTableColumn(param -> {
        final Column column = columnTableView.getItems().get(param);
        column.ignoreProperty().addListener((observable, oldValue, newValue) -> {
            column.setIgnore(newValue);
            BaseConstants.tableNameIsOverrideRecodeMap.put(tableName, true);
        });
        return column.ignoreProperty();
    }));
    ignoreCheckBox.setSortable(false);
    ignoreCheckBox.prefWidthProperty().bind(widthBind.multiply(0.1));
    ignoreCheckBox.getStyleClass().setAll("myColumn");

    columnTableView.getColumns().add(tcColumnNam);
    columnTableView.getColumns().add(tcType);
    columnTableView.getColumns().add(ignoreCheckBox);
    columnTableView.getColumns().add(property);
    columnTableView.getColumns().add(javaType);
    columnTableView.getColumns().add(typeHandler);

    columnTableView.setFixedCellSize(30);
    columnTableView.prefHeightProperty().bind(columnTableView.fixedCellSizeProperty().multiply(Bindings.size(columnTableView.getItems()).add(1.3)));
    columnTableView.prefWidthProperty().bind(hBox.widthProperty());

    hBox.getChildren().add(columnTableView);
    selectedVBox.getChildren().add(hBox);
}
 
源代码16 项目: chart-fx   文件: TableViewer.java
private void updateEditableState() {
    this.setEditable(false);
    this.setOnEditCommit(null);
    if (!(ds instanceof EditableDataSet) || (type != ColumnType.X && type != ColumnType.Y)) {
        // can edit only 'EditableDataSet's and (X or Y) columns
        return;
    }
    final EditableDataSet editableDataSet = (EditableDataSet) ds;
    final EditConstraints editConstraints = editableDataSet.getEditConstraints();

    if (type == ColumnType.X && editConstraints != null && !editConstraints.isEditable(DIM_X)) {
        // editing of x coordinate is excluded
        return;
    }
    if (type == ColumnType.Y && editConstraints != null && !editConstraints.isEditable(DIM_Y)) {
        // editing of y coordinate is excluded
        return;
    }

    // column can theoretically be edited as long as 'canChange(index)' is true for the selected index
    // and isAcceptable(index, double, double) is also true
    this.setEditable(true);
    this.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter()));

    this.setOnEditCommit(e -> {
        DataSetsRow rowValue = e.getRowValue();
        if (rowValue == null) {
            LOGGER.atError().log("DataSet row should not be null");
            return;
        }
        final int row = rowValue.getRow();
        final double oldX = editableDataSet.get(DIM_X, row);
        final double oldY = editableDataSet.get(DIM_Y, row);

        if (editConstraints != null && !editConstraints.canChange(row)) {
            // may not edit value, revert to old value (ie. via rewriting old value)
            editableDataSet.set(row, oldX, oldY);
            return;
        }

        final double newVal = e.getNewValue();
        switch (type) {
        case X:
            if (editConstraints != null && !editConstraints.isAcceptable(row, newVal, oldY)) {
                // may not edit x
                editableDataSet.set(row, oldX, oldY);
                break;
            }
            editableDataSet.set(row, newVal, oldY);
            break;
        case Y:
            if (editConstraints != null && !editConstraints.isAcceptable(row, oldX, newVal)) {
                // may not edit y
                editableDataSet.set(row, oldX, oldY);
                break;
            }
            editableDataSet.set(row, oldX, newVal);
            break;
        default:
            // Errors are not editable, as there is no interface for manipulating them
            editableDataSet.set(row, oldX, oldY);
            break;
        }
    });
}
 
源代码17 项目: Noexes   文件: WatchlistController.java
@FXML
public void initialize() {
    updateCol.setCellValueFactory(param -> param.getValue().updateProperty());
    lockedCol.setCellValueFactory(param -> param.getValue().lockedProperty());
    typeCol.setCellValueFactory(param -> param.getValue().typeProperty());
    addrCol.setCellValueFactory(param -> param.getValue().addrProperty());
    descCol.setCellValueFactory(param -> param.getValue().descProperty());
    valueCol.setCellValueFactory(param -> param.getValue().valueProperty());

    updateCol.setCellFactory(param -> new CheckBoxTableCell<>());
    lockedCol.setCellFactory(param -> new CheckBoxTableCell<>());
    typeCol.setCellFactory(param -> new ComboBoxTableCell<>(DataType.values()) {
        {
            setItem(DataType.INT);
        }
    });
    addrCol.setCellFactory(TextFieldTableCell.forTableColumn());
    descCol.setCellFactory(TextFieldTableCell.forTableColumn());
    valueCol.setCellFactory(param -> new SpinnerTableCell<>(valueCol, new HexSpinner() {
                {
                    setEditable(true);
                    setSize(16);
                }
            }) {
                @Override
                protected void updateItem(Long item, boolean empty) {
                    super.updateItem(item, empty);
                    if (item == null || empty) {
                        return;
                    }
                    WatchlistModel model = getTableRow().getItem();
                    if (model == null) {
                        return;
                    }
                    getSpinner().setSize(model.getSize() * 2);
                }
            }
    );

    watchlistTable.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> removeButton.setDisable(newValue == null));
}
 
源代码18 项目: phoebus   文件: StringTableDemo.java
@Override
public void start(Stage stage) throws Exception
{
    TableColumn<List<StringProperty>, String> tc = new TableColumn<>("A");
    tc.setCellValueFactory(param ->  param.getValue().get(0));
    tc.setCellFactory(TextFieldTableCell.forTableColumn());

    tc.setOnEditCommit(event ->
    {
        final int col = event.getTablePosition().getColumn();
        event.getRowValue().get(col).set(event.getNewValue());
    });

    tc.setEditable(true);
    table.getColumns().add(tc);

    tc = new TableColumn<>("B");
    tc.setCellValueFactory(param ->  param.getValue().get(1));
    tc.setCellFactory(TextFieldTableCell.forTableColumn());
    tc.setEditable(true);
    table.getColumns().add(tc);

    table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

    table.setEditable(true);

    final Scene scene = new Scene(table, 800, 600);
    stage.setScene(scene);
    stage.show();

    List<StringProperty> row = new ArrayList<>();
    row.add(new SimpleStringProperty("One"));
    row.add(new SimpleStringProperty("Another"));
    data.add(row);

    row = new ArrayList<>();
    row.add(new SimpleStringProperty("Two"));
    row.add(new SimpleStringProperty("Something"));
    data.add(row);

    final Thread change_cell = new Thread(() ->
    {
        while (true)
        {
            try
            {
                Thread.sleep(500);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
            Platform.runLater(() ->  updateCell(1, 0, LocalDateTime.now().toString().replace('T', ' ')));
        }
    });
    change_cell.setDaemon(true);
    change_cell.start();
}
 
源代码19 项目: Maus   文件: ClientList.java
public TableView getClientList() {

        tableView = new TableView();
        tableView.setEditable(true);
        tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
        tableView.getStylesheets().add(getClass().getResource("/css/global.css").toExternalForm());

        TableColumn<String, String> onlineStatus = new TableColumn<>("Status");
        onlineStatus.setMaxWidth(70);
        onlineStatus.setResizable(false);
        onlineStatus.setCellValueFactory(
                new PropertyValueFactory<>("onlineStatus"));

        TableColumn<ClientObject, String> nickName = new TableColumn<>("Nickname");
        nickName.setMinWidth(150);
        nickName.setMaxWidth(200);
        nickName.setResizable(false);
        nickName.setCellValueFactory(new PropertyValueFactory<>("nickName"));
        nickName.setCellFactory(TextFieldTableCell.forTableColumn());
        nickName.setOnEditCommit(
                t -> t.getTableView().getItems().get(
                        t.getTablePosition().getRow()).setNickName(t.getNewValue())
        );

        TableColumn<ClientObject, String> IP = new TableColumn<>("IP");
        IP.setMinWidth(600);
        IP.setResizable(false);
        IP.setCellValueFactory(new PropertyValueFactory<>("IP"));
        IP.setCellFactory(col -> {
            final TableCell<ClientObject, String> cell = new TableCell<>();
            cell.textProperty().bind(cell.itemProperty());
            cell.setOnMouseClicked(event -> {
                if (event.getButton().equals(MouseButton.SECONDARY) && cell.getTableView().getSelectionModel().getSelectedItem() != null && cell.getTableView().getSelectionModel().getSelectedItem().getClient().isConnected()) {
                    IPContextMenu.getIPContextMenu(cell, event);
                }
            });
            return cell;
        });
        ObservableList<ClientObject> list = FXCollections.observableArrayList();
        list.addAll(CONNECTIONS.values());
        tableView.setItems(list);
        tableView.getColumns().addAll(onlineStatus, nickName, IP);

        return tableView;
    }
 
源代码20 项目: mars-sim   文件: SettlementTableView.java
public TableView createGUI() {

		for (int x = 0; x < NUM_COLUMNS; x++) {
			TableColumn<Map, String> col = new TableColumn<>(headers[x]);
			col.setCellValueFactory(new MapValueFactory(x));
			col.setMinWidth(col_widths[x]);
			cols.add(col);
		}

        table_view = new TableView<>(generateDataInMap());
        table_view.setEditable(true);
        table_view.getSelectionModel().setCellSelectionEnabled(true);
        table_view.getColumns().setAll(cols.get(0), cols.get(1), cols.get(2), 
        		cols.get(3), cols.get(4), cols.get(5), cols.get(6));

        Callback<TableColumn<Map, String>, TableCell<Map, String>>
            cellFactoryForMap = new Callback<TableColumn<Map, String>, TableCell<Map, String>>() {
                    @Override
                    public TableCell call(TableColumn p) {
                        return new TextFieldTableCell(new StringConverter() {
                            @Override
                            public String toString(Object o) {
                            	//updateSettlementInfo();
                            	//System.out.println("o.toString() is "+ o.toString());                    	
                        		//validationSupport.registerValidator((TextField) o, Validator.createEmptyValidator("Text is required"));
                            	return o.toString();
                            }
                            @Override
                            public Object fromString(String s) {
                            	//updateSettlementInfo();
                            	//System.out.println("string() is "+ s);
                                return s;
                            }                                    
                        });
                    }
        };
        
        for (int x = 0; x < NUM_COLUMNS; x++) {
			cols.get(x).setCellFactory(cellFactoryForMap);
		}
        
        return table_view;
    }
 
@Override
 public TableCell<Person, String> call(TableColumn<Person, String> param) {

     return new TextFieldTableCell<Person, String>(new DefaultStringConverter()) {      
     	
     	{
         	ContextMenu cm = new ContextMenu();
         	MenuItem deletePersonsMenuItem = new MenuItem("Delete");
         	deletePersonsMenuItem.setOnAction( PersonsCellFactory.this.deletePersonsHandler );
         	cm.getItems().add(deletePersonsMenuItem);
         	this.setContextMenu(cm);      
     	}
     	
         @Override
         public void updateItem(String arg0, boolean empty) {
         	
             super.updateItem(arg0, empty);
             
             if( !empty ) {
                 this.setText( arg0 );
             } else {
                 this.setText( null );  // clear from recycled obj
             }
         }

@SuppressWarnings("unchecked")
@Override
public void commitEdit(String newValue) {
	super.commitEdit(newValue);
	TableRow<Person> row = this.getTableRow();
	Person p = row.getItem();
	
	String msg = p.validate();
	if( logger.isLoggable(Level.FINE) ) {
		logger.fine("[COMMIT EDIT] validate=" + msg);
	}
		
	if( msg == null || msg.isEmpty() ) {
		if( logger.isLoggable(Level.FINE) ) {
			logger.fine("[COMMIT EDIT] validation passed");
		}
		Task<Void> task = new Task<Void>() {
			@Override
			protected Void call() {
				dao.updatePerson(p);  // updates AR too
				return null;
			}
		};
		new Thread(task).start();
	} else {
		
		System.out.println("layoutBounds=" + this.getLayoutBounds());
		System.out.println("boundsInLocal=" + this.getBoundsInLocal());
		System.out.println("boundsInParent=" + this.getBoundsInParent());
		System.out.println("boundsInParent (Scene)=" + this.localToScene(this.getBoundsInParent()));
		System.out.println("boundsInParent (Screen)=" + this.localToScreen(this.getBoundsInParent()));

		System.out.println("row layoutBounds=" + row.getLayoutBounds());
		System.out.println("row boundsInLocal=" + row.getBoundsInLocal());
		System.out.println("row boundsInParent=" + row.getBoundsInParent());
		System.out.println("row boundsInParent (Scene)=" + row.localToScene(this.getBoundsInParent()));
		System.out.println("row boundsInParent (Screen)=" + row.localToScreen(this.getBoundsInParent()));

		VBox vbox = new VBox();
		vbox.setPadding(new Insets(10.0d));
		vbox.setStyle("-fx-background-color: white; -fx-border-color: red");
		vbox.getChildren().add( new Label(msg));
		//vbox.setEffect(new DropShadow());
		
		Popup popup = new Popup();
		popup.getContent().add( vbox );
		popup.setAutoHide(true);
		popup.setOnShown((evt) -> {
			
			System.out.println("vbox layoutBounds=" + vbox.getLayoutBounds());
			System.out.println("vbox boundsInLocal=" + vbox.getBoundsInLocal());
			System.out.println("vbox boundsInParent=" + vbox.getBoundsInParent());
			System.out.println("vbox boundsInParent (Scene)=" + vbox.localToScene(this.getBoundsInParent()));
			System.out.println("vbox boundsInParent (Screen)=" + vbox.localToScreen(this.getBoundsInParent()));

		});
		popup.show( row, 
				row.localToScreen(row.getBoundsInParent()).getMinX(), 
				row.localToScreen(row.getBoundsInParent()).getMaxY());					
	}
}
     };
 }
 
public void initialize() {

    colorColumn.setCellFactory(column -> new ColorTableCell<ChromatogramPlotDataSet>(column));

    lineThicknessColumn
        .setCellFactory(column -> new SpinnerTableCell<ChromatogramPlotDataSet>(column, 1, 5));

    intensityScaleColumn.setCellFactory(TextFieldTableCell.forTableColumn(
        new NumberStringConverter(MZmineCore.getConfiguration().getIntensityFormat())));

    showDataPointsColumn
        .setCellFactory(column -> new CheckBoxTableCell<ChromatogramPlotDataSet, Boolean>());

  }
 
 类所在包
 类方法
 同包方法