Dies ist eine alte Version des Dokuments!
Table, Tabellen mit Checkboxen (CheckBoxTableCell)
javafx.scene.control.cell.CheckBoxTableCell
Die Verwendung von Tabellen mit Checkboxen in JavaFX zeigt folgendes Bespiel:

package com.sowas.javawiki.javafx; import javafx.application.Application; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.Scene; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; import javafx.stage.Stage; public class MyFxApplication extends Application { @Override public void start(Stage mainStage) { mainStage.setTitle("JavaFX-Table"); ObservableList<RowData> data = FXCollections.observableArrayList(new RowData("col 1/row 1", "col 2/row1", "col 3/row1", true), new RowData("col 1/row 2", "col 2/row2", "col 3/row2", false), new RowData("col 1/row 3", "col 2/row3", "col 3/row3", true)); TableView<RowData> table = new TableView<RowData>(); table.setEditable(true); // Tabelle wird grundsätzlich editierbar gemacht TableColumn col1 = new TableColumn("Col 1"); col1.setCellValueFactory(new PropertyValueFactory<RowData, String>("colValue1")); TableColumn col2 = new TableColumn("Col 2"); col2.setCellValueFactory(new PropertyValueFactory<RowData, String>("colValue2")); TableColumn col3 = new TableColumn("Col 3"); col3.setCellValueFactory(new PropertyValueFactory<RowData, String>("colValue3")); TableColumn<RowData, Boolean> col4 = new TableColumn<>("Checked"); col4.setCellValueFactory(new PropertyValueFactory<>("checked")); col4.setCellFactory(CheckBoxTableCell.forTableColumn(col4)); col4.setEditable(true); // Checkboxen werden editierbar gemacht table.getColumns().addAll(col1, col2, col3, col4); table.setItems(data); Scene scene = new Scene(table); mainStage.setScene(scene); mainStage.show(); } public static void main(String[] args) { launch(args); } }
package com.sowas.javawiki.javafx;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleStringProperty;
public class RowData {
private SimpleStringProperty colValue1;
private SimpleStringProperty colValue2;
private SimpleStringProperty colValue3;
private SimpleBooleanProperty checked;
public RowData(String colValue1, String colValue2, String colValue3, boolean checked) {
this.colValue1 = new SimpleStringProperty(colValue1);
this.colValue2 = new SimpleStringProperty(colValue2);
this.colValue3 = new SimpleStringProperty(colValue3);
this.checked = new SimpleBooleanProperty(checked);
}
@SuppressWarnings("unused")
public String getColValue1() {
return colValue1.get();
}
@SuppressWarnings("unused")
public String getColValue2() {
return colValue2.get();
}
@SuppressWarnings("unused")
public String getColValue3() {
return colValue3.get();
}
@SuppressWarnings("unused")
public boolean getChecked() {
return checked.get();
}
@SuppressWarnings("unused")
public SimpleBooleanProperty checkedProperty() {
return checked;
}
}
Stichworte:
JavaFX Table, Tabellen, Beispiel