Java SWT清除表标题

时间:2018-08-29 12:42:44

标签: java user-interface swt

我正在SWT GUI上工作,并且试图创建一个按钮,该按钮在按下时清除所有表数据和标题。

table.removeAll();

此命令无法正常运行,因为它仅删除内部数据,我也需要删除表头。

有解决方案吗?

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

第一个图像是第一个文件上传时,单击“开始”按钮后表中显示的数据: enter image description here

第二张图片是表格通过按下另一个按钮清除所有数据之后的结果: enter image description here

第三张图片是上传新文件后,按“开始”按钮: enter image description here

编辑: 标头集

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

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

2 个答案:

答案 0 :(得分:2)

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("");
        }
    }
});

答案 1 :(得分:0)

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

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

这有效。

谢谢你们。