利用JavaFx开发RIA桌面应用-TableView操作

转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/53377075

1 给JavaFX应用添加表格

应用中不可避免的会使用表格,在javaFX中表格通过TableView控件来实现,具体效果如下:

利用JavaFx开发RIA桌面应用-TableView操作_第1张图片

此表格记录了软件不同版本的更新信息。

2 实现方式

步骤:

  • 1、创建值域对象,本例中即Version对象,包含版本、时间、内容三字段。
  • 2、创建表头,定义表头对应的“键”,与值域对象中具体的字段关联。
  • 3、给TableView对象添加内容。
        TableView tableView = new TableView();

        // 创建表格表头
        TableColumn versionCo1 = new TableColumn("软件版本");
        versionCo1.setMinWidth(100);
        versionCo1.setCellValueFactory(new PropertyValueFactory("version_id"));
        tableView.getColumns().add(versionCo1);

        TableColumn dateCo2 = new TableColumn("更新时间");
        dateCo2.setMinWidth(150);
        dateCo2.setCellValueFactory(new PropertyValueFactory("update_date"));
        tableView.getColumns().add(dateCo2);

        TableColumn contentCo3 = new TableColumn("更新内容");
        contentCo3.setCellValueFactory(new PropertyValueFactory("content"));
        contentCo3.setMinWidth(390);
        tableView.getColumns().add(contentCo3);

        // 获取表格数据
        List dataList = VersionUtil.getVersionList(Constant.VERSION_FILE_PATH);

        // 更新表格数据
        ObservableList data = FXCollections.observableArrayList(VersionUtil.getVersionSortList(dataList));
        tableView.setItems(data);

3 待明确问题

代码中分明只添加了3列,但显示出的效果却多了一空列,百思不得解,如下:

利用JavaFx开发RIA桌面应用-TableView操作_第2张图片

对于这个问题,如果有朋友比较清楚,请给予指点,谢谢。

4 更新日志

2017-05-18:谢谢@fangjunai帮助解决了多一列空白显示的问题,添加如下代码即可:

tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);

利用JavaFx开发RIA桌面应用-TableView操作_第3张图片

相关文章:

  • 《 利用JavaFx开发RIA桌面应用-TableView操作》
  • 《 利用JavaFx开发RIA桌面应用-Clipboard剪贴板操作》
  • 《利用JavaFx开发RIA桌面应用-TextField替换PasswordField做密码框》
  • 《利用JavaFx开发RIA桌面应用-半透明界面设计》
  • 《利用JavaFx开发RIA桌面应用-加载等待界面设计》
  • 《利用JavaFx开发RIA桌面应用-文件拖拽》
  • 《利用JavaFx开发RIA桌面应用-改变stage的标题栏的图标》
  • 《利用JavaFx开发RIA桌面应用-事件监听》
  • 《利用JavaFx开发RIA桌面应用-ComboBox组合编辑框水平增长》
  • 《利用JavaFx开发RIA桌面应用-布局说明》
  • 《利用JavaFx开发RIA桌面应用-在线资料》

你可能感兴趣的:(JAVA,JavaFX)