1
我創建了一個包含許多行的表。當我運行它時,它將在一個大窗口中顯示所有行。我應該如何限制顯示在表格中的行數,並使用垂直滾動條來查看其他行。如何啓用日食表中的滾動條
我試着在表上調用setBounds和setSize。但它仍然在一個大窗口中顯示所有行。
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, true));
Table table = new Table(shell, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
table.setBounds(0, 0, 100, 100);
for (int i=0; i<4; i++) {
TableColumn column = new TableColumn (table, SWT.NONE);
column.setText ("Column " + i);
}
for(int i = 0; i < table.getColumnCount(); i++) {
table.getColumn(i).setWidth(150);
}
for(int i = 0; i < 50; i++){
TableItem item = new TableItem(table,SWT.NONE);
item.setText(new String[]{"Item " + i,"Item " + i,"Item " + i,"Item " + i});
}
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
是否可以使用griddata方法執行此操作。類似table.setLayoutData(新的GridData(SWT.FILL,SWT.FILL,true,true)) – vjk 2012-02-23 17:02:12
@vjk你可以創建'new GridData()',用heightInt和widthInt指定高度和寬度,將它附加到'Table'中。這相當於我的答案('GridDataFactory'允許我在一行中完成)。 – Baldrick 2012-02-23 18:02:21
感謝有關swt佈局的有用鏈接 – 2017-07-25 10:18:19