java - 如何对表重新排序

标签 java swt

我正在学习使用 SWT。 我使用以下方法将两个 Table 添加到一个 Composite 中:

    TabFolder tabFolder = new TabFolder(shell, SWT.NONE);
    tabFolder.setLayoutData(BorderLayout.CENTER);

    TabItem tbtmData = new TabItem(tabFolder, SWT.NONE);
    tbtmData.setText("data");

    scrolledComposite = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    tbtmData.setControl(scrolledComposite);
    scrolledComposite.setExpandHorizontal(true);
    scrolledComposite.setExpandVertical(true);

    tableComposite = new Composite(scrolledComposite, SWT.NONE);
    RowLayout rl_tableComposite = new RowLayout(SWT.HORIZONTAL);
    tableComposite.setLayout(rl_tableComposite);

    table_2 = new Table(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    table_2.setHeaderVisible(true);
    table_2.setLinesVisible(true);

    table_3 = new Table(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    table_3.setLayoutData(new RowData(261, 45));
    table_3.setTopIndex(1);
    table_3.setHeaderVisible(true);
    table_3.setLinesVisible(true);



    scrolledComposite.setContent(tableComposite);
    scrolledComposite.setMinSize(tableComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));

    TabItem tbtmGraph = new TabItem(tabFolder, SWT.NONE);
    tbtmGraph.setText("graph");

    Canvas canvas = new Canvas(tabFolder, SWT.NONE);
    tbtmGraph.setControl(canvas);

现在,在窗口中,我在左侧看到 table_2,在右侧看到 table_3。如何更改运行时的顺序?在我的例子中,首先添加 table_3 不是一个选项。

还有一个问题。如果我调用 table.setSize(0, 0); 我看不到表格外观有任何变化。之后我尝试调用 table.redraw() ,但表格的大小仍然没有改变。我的错误在哪里?

最佳答案

您可以调用:

tableThree.moveAbove(tableTwo);

请参阅javadoc了解更多详情。

至于你的第二个问题:

为什么要将大小设置为0?不Control#setVisible(false)做这个伎俩吗?

关于java - 如何对表重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23513804/

相关文章:

java - "Fixing"SWT 表中的前几列,以防止它们水平滚动

java - 文本完全展开后的 SWT 水平线

java - 如何在jsp页面上以单独的日期和时间显示本地日期时间?

java - 内容重绘缓慢的滚动合成看起来很难看

Javascript添加元素而不重新加载

java - @PrePersist 正在被调用并修改实体,但没有写入数据库

java - 如何以编程方式关闭 eclipse rcp 4 mwindow

java - 创建具有特定高度的空表并在 SWT 中单击按钮时重绘

java - 更新 Java 循环中的总计

java流过滤器不显示输出