利用JavaFx開發RIA桌面應用-TableView操作
阿新 • • 發佈:2019-01-26
1 給JavaFX應用新增表格
應用中不可避免的會使用表格,在javaFX中表格通過TableView控制元件來實現,具體效果如下:
此表格記錄了軟體不同版本的更新資訊。
2 實現方式
步驟:
- 1、建立值域物件,本例中即Version物件,包含版本、時間、內容三欄位。
- 2、建立表頭,定義表頭對應的“鍵”,與值域物件中具體的欄位關聯。
- 3、給TableView物件新增內容。
TableView<Version> tableView = new TableView<Version>();
// 建立表格表頭
TableColumn versionCo1 = new TableColumn("軟體版本");
versionCo1.setMinWidth(100);
versionCo1.setCellValueFactory(new PropertyValueFactory<Version,String>("version_id"));
tableView.getColumns().add(versionCo1);
TableColumn dateCo2 = new TableColumn("更新時間");
dateCo2.setMinWidth(150);
dateCo2.setCellValueFactory(new PropertyValueFactory<Version,String>("update_date"));
tableView.getColumns().add(dateCo2);
TableColumn contentCo3 = new TableColumn("更新內容");
contentCo3.setCellValueFactory(new PropertyValueFactory<Version,String>("content"));
contentCo3.setMinWidth(390);
tableView.getColumns().add(contentCo3);
// 獲取表格資料
List<Version> dataList = VersionUtil.getVersionList(Constant.VERSION_FILE_PATH);
// 更新表格資料
ObservableList<Version> data = FXCollections.observableArrayList(VersionUtil.getVersionSortList(dataList));
tableView.setItems(data);
3 待明確問題
程式碼中分明只添加了3列,但顯示出的效果卻多了一空列,百思不得解,如下:
對於這個問題,如果有朋友比較清楚,請給予指點,謝謝。
4 更新日誌
2017-05-18:謝謝@fangjunai幫助解決了多一列空白顯示的問題,新增如下程式碼即可:
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
相關文章: