怎么用javafx做一个表格,在表格中放入一个按钮
时间: 2024-02-13 16:06:01 浏览: 181
如何用java应用程序创建表格
5星 · 资源好评率100%
要使用JavaFX创建一个表格,可以使用TableView类。以下是创建一个带有按钮列的表格的示例代码:
```
TableView<MyData> table = new TableView<>();
ObservableList<MyData> data = FXCollections.observableArrayList();
TableColumn<MyData, String> nameCol = new TableColumn<>("Name");
nameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn<MyData, Button> buttonCol = new TableColumn<>("Button");
buttonCol.setCellFactory(column -> {
return new TableCell<MyData, Button>() {
final Button button = new Button("Click me");
{
button.setOnAction(event -> {
MyData data = getTableView().getItems().get(getIndex());
System.out.println("Button clicked for " + data.getName());
});
}
@Override
protected void updateItem(Button item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setGraphic(null);
} else {
setGraphic(button);
}
}
};
});
table.getColumns().addAll(nameCol, buttonCol);
table.setItems(data);
// Add some data
data.addAll(new MyData("John"), new MyData("Jane"), new MyData("Bob"));
```
在这个示例中,我们使用了一个MyData类来存储每行数据的名称。我们创建了两个列,一个列用于显示名称,另一个列用于显示一个按钮。我们使用setCellFactory方法来创建一个定制的单元格,该单元格包含一个按钮。当按钮被点击时,我们打印出相应的名称。
最后,我们将表格添加到场景中以显示它。
注意:这只是一个简单的示例。如果您需要更复杂的表格或按钮行为,请参阅JavaFX文档以获取更多信息。
阅读全文