我正在学习使用 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/