1. 程式人生 > >利用JavaFx開發RIA桌面應用-TableView操作

利用JavaFx開發RIA桌面應用-TableView操作

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);

這裡寫圖片描述

相關文章: