JavaFX TableView editable (true) no funcionan

Kunlun:

Tengo este código:

public static void main(String[] ar){ launch(ar); }

@Override
public void start(Stage primaryStage){

    TableView<Foo> tableView = new TableView<>();
    tableView.setColumnResizePolicy(TableView.UNCONSTRAINED_RESIZE_POLICY);
    tableView.setPlaceholder(new Label("No data"));
    tableView.setEditable(true);

    TableColumn<Foo, String> colText = new TableColumn<>("Text");
    colText.setCellValueFactory(new PropertyValueFactory<>("text"));

    tableView.getColumns().add(colText);

    List<Foo> listFoo = new ArrayList<>(Arrays.asList(new Foo("1"), new Foo("2"), new Foo("3")));

    tableView.setItems(FXCollections.observableArrayList(listFoo));

    primaryStage.setScene(new Scene(tableView));
    primaryStage.show();

}

public class Foo{

    private String text;

    public Foo(String txt){ text = txt; }

    public String getText(){ return text; }

    public void setText(String text){ this.text = text; }

}

Trato de hacer que las células de la tabla editable: tableView.setEditable(true);, pero no trabajo.

¿Cómo puedo hacer que las células de editable mesa o tener posibilidad de copiar el valor de la celda en el portapapeles.

Fabian :

Para una TableCellpara ser editadas, 3 condiciones deben cumplirse:

  1. El que contiene TableViewes editable
  2. El que contiene TableColumnes editable
  3. La propia célula es editable

En su caso, la tercera condición no se cumple, ya que las células creadas por el valor por defecto cellFactoryno son editables. Es necesario asignar una cellFactoryque permite la edición. Además tenga en cuenta que a menos que las cellValueFactorydeclaraciones de un objeto de aplicación WritableValue, también es necesario utilizar el onEditCommitcontrolador para almacenar los datos en el tema:

colText.setCellFactory(TextFieldTableCell.forTableColumn());
colText.setOnEditCommit(evt -> evt.getRowValue().setText(evt.getNewValue()));

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=222729&siteId=1
Recomendado
Clasificación