【问题标题】:Java SWT clear table headersJava SWT 清除表头
【发布时间】:2018-08-29 12:42:44
【问题描述】:

我正在开发一个 SWT GUI,我正在尝试创建一个按钮,按下该按钮可以清除所有表数据和标题。

table.removeAll();

这个命令效果不好,因为它只删除里面的数据,我也需要删除表头。

有解决办法吗?

编辑: 在清除标题的代码工作后,如果我尝试添加带有数据的新文件,标题转到下一点。为什么如果它是空白的? (包含标头名称的 ArrayLists 也被清除)。

第一张图片是第一个文件上传时,点击“开始”按钮后,表格中显示的数据:

第二张图片是在表格通过按下另一个按钮清除所有数据之后:

第三张图片是在上传新文件并按“开始”按钮后:

编辑:标题集

            tableConfigurationSystemColumnTools.add("Parameter Name");
            for (String str : tableSystemColumn) {
                String[] a = str.split("PCM");
                tableConfigurationSystemColumnTools.add(a[0].trim());
            }
                for (int loopIndexSystemColumnTools = 0; 
                loopIndexSystemColumnTools < tableConfigurationSystemColumnTools.size(); loopIndexSystemColumnTools++) {
                TableColumn column = new TableColumn(tableConfigurationSystem, SWT.NULL);
                column.setWidth(100);
                column.setText(tableConfigurationSystemColumnTools.get(loopIndexSystemColumnTools));
              }
              for (int loopIndexSystemColumnTools = 0; loopIndexSystemColumnTools < tableConfigurationSystemColumnTools.size(); loopIndexSystemColumnTools++) {
                  tableConfigurationSystem.getColumn(loopIndexSystemColumnTools).pack();
              }

编辑:我已经找到了答案,看看我的评论。

【问题讨论】:

  • 您必须将每个 TableColumn 的文本设置为空白。
  • @greg-449 请参阅编辑
  • 我不懂编辑。您需要将每个 TableColumn 的文本设置为您想要的。
  • 我正在上传文件,按“开始”按钮,然后从表格中显示的文本文件中获取数据。当我按“清除”时,删除了表数据并删除了列,但这里有一个问题.. 当我上传新文件时,数据显示良好,但标题移动到下一个索引,它从上一个文件停止。
  • 您必须向我们展示您用于再次设置标题的代码。

标签: java user-interface swt


【解决方案1】:
button.addSelectionListener(new SelectionAdapter() {
    @Override
    public void widgetSelected(SelectionEvent e) {
        table.removeAll();
        TableColumn[] columns = table.getColumns();
        for (int i = 0; i < columns.length; i++) {
            columns[i].setText("");
        }
    }
});

【讨论】:

  • 我不理解你的编辑笔记。请粘贴您的整个代码(或者如果有机密数据,请创建模拟代码并粘贴)。它可以帮助我们调试。
  • 我没有从你的代码中得到任何意义。如前所述,您能否在遇到问题时提供完整的编译代码。这将有助于我们调试。
【解决方案2】:

我找到了答案——在创建 TableColumn 的“for”循环中,我添加了“index”:

TableColumn column = new TableColumn(tableConfigurationSystem, SWT.NONE, loopIndexSystemColumnTools);

这是有效的。

谢谢你们。

【讨论】:

    猜你喜欢
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多