java - 如何使用二维数组中的数据填充 TableView?
问题描述
我有一个details
在类中调用的数组Table
。我希望TableView
用数组中的内容填充 。但是,我不确定它是如何完成的。我尝试寻找类似的问题,但找不到解决方案。抱歉,如果问题已经回答。该类Table
如下(注意,import
为简单起见,我删除了这些语句)。
public class Table extends Application
{
private static String details[][] = new String[2][2] ;
public static void main(String[] args)
{
initialize() ;
Application.launch(args) ;
}
private static void initialize()
{
details[0][0] = "Peter" ;
details[0][1] = "Jones" ;
details[1][0] = "Marcus" ;
details[1][1] = "Anthony" ;
}
@Override
public void start(Stage window)
{
TableView<Person> table = new TableView<Person>() ;
TableColumn<Person, String> firstNameColumn = new TableColumn<>("First Name") ;
firstNameColumn.setCellValueFactory(new PropertyValueFactory<>("firstName")) ;
firstNameColumn.setPrefWidth(200) ;
TableColumn<Person, String> lastNameColumn = new TableColumn<>("Last Name") ;
lastNameColumn.setCellValueFactory(new PropertyValueFactory<>("lastName")) ;
lastNameColumn.setPrefWidth(200) ;
table.getColumns().addAll(firstNameColumn, lastNameColumn) ;
/* Not so sure to what goes in here */
VBox vbox = new VBox(table) ;
vbox.setPadding(new Insets(10)) ;
vbox.setAlignment(Pos.CENTER) ;
Scene scene = new Scene(vbox, 425, 300) ;
window.setScene(scene) ;
window.show() ;
}
private ObservableList<Person> loadData(int index)
{
ObservableList<Person> data = FXCollections.observableArrayList() ;
/* Not so sure to what goes in here */
return data ;
}
}
Person
定义表中显示的对象的自定义类是:
public class Person
{
private String firstName, lastName ;
public TableContent(String firstName, String lastName)
{
this.firstName = firstName ;
this.lastName = lastName ;
}
public String getFirstName()
{
return firstName ;
}
public String getLastName()
{
return lastName ;
}
}
解决方案
您需要创建 Person 对象的 ArrayList,然后您可以执行以下操作:
ObservableList<Person> data = FXCollections.observableArrayList(personArrayList);
然后你有一个带有你的 Person 对象的 ObservableList 并且可以像这样将数据设置到表中:
table.setItems(data);
数据是 ObservableList。
推荐阅读
- reactjs - Web Worker - Jest - 无法在模块外使用“import.meta”
- markdown - pandoc:如何使链接在 Markdown 中跨单 PDF PDF 输出和 Markdown 多文件输出工作?
- docusignapi - DocuSign:如何将自定义属性附加到信封
- javascript - 如何使用 html2canvas 捕获 fabric.js 画布的两面
- android - Android:不要打包原生库
- c++ - C++ OpenGL stb_image.h 错误
- c# - C# 浮点数组边缘检测
- github - 如何通过 git API 获取 git pull 请求中更改的文件列表?
- php - 每当我使用带有分页方法的 Laravel 资源时,我都会收到带有“链接”和“元”键的响应。我想将这些键更改为新格式
- r - 根据字符串从表中提取行