swt tableviewer 问题
Shellshell=newShell(Display.getDefault());shell.setSize(450,450);TableViewertableView...
Shell shell = new Shell(Display.getDefault());
shell.setSize(450, 450);
TableViewer tableViewer = new TableViewer(shell, SWT.H_SCROLL);
tableViewer.getTable().setHeaderVisible(true);
TableColumn tc = new TableColumn(tableViewer.getTable(), SWT.NONE);
tc.setWidth(1600);
tc.setText("test");
TableItem ti = new TableItem(tableViewer.getTable(), SWT.NONE);
tableViewer.getTable().setBounds(0, 0, 440, 400);
String test = "";
for (int i = 0; i < 200; i++) {
String str = "000" + i;
test = test + str.substring(str.length() - 3, str.length()) + "|";
}
test += "end";
ti.setText(test);
shell.open();
System.out.println(tableViewer.getTable().getItem(0).getText());
System.out.println(test.substring(0, test.lastIndexOf("|065")).length());
while (!shell.isDisposed()) {
if (!shell.getDisplay().readAndDispatch())
shell.getDisplay().sleep();
}
代码如上,希望解决不能显示到"end"的问题! 展开
shell.setSize(450, 450);
TableViewer tableViewer = new TableViewer(shell, SWT.H_SCROLL);
tableViewer.getTable().setHeaderVisible(true);
TableColumn tc = new TableColumn(tableViewer.getTable(), SWT.NONE);
tc.setWidth(1600);
tc.setText("test");
TableItem ti = new TableItem(tableViewer.getTable(), SWT.NONE);
tableViewer.getTable().setBounds(0, 0, 440, 400);
String test = "";
for (int i = 0; i < 200; i++) {
String str = "000" + i;
test = test + str.substring(str.length() - 3, str.length()) + "|";
}
test += "end";
ti.setText(test);
shell.open();
System.out.println(tableViewer.getTable().getItem(0).getText());
System.out.println(test.substring(0, test.lastIndexOf("|065")).length());
while (!shell.isDisposed()) {
if (!shell.getDisplay().readAndDispatch())
shell.getDisplay().sleep();
}
代码如上,希望解决不能显示到"end"的问题! 展开
2个回答
展开全部
在windows平台上最多显示259个吧,
这是eclipse的一个bug:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=38519
这个bug的现在状态是:WONTFIX ,不可修正。
建议楼主在界面显示上做些修改,避开这个bug。
比如用label显示,或者用多个TableItem来显示。
这是eclipse的一个bug:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=38519
这个bug的现在状态是:WONTFIX ,不可修正。
建议楼主在界面显示上做些修改,避开这个bug。
比如用label显示,或者用多个TableItem来显示。
展开全部
壳牌壳牌=新壳牌(Display.getDefault());
shell.setSize(450,450);
TableViewer tableViewer =新TableViewer(壳,SWT.H_SCROLL);
tableViewer.getTable()。setHeaderVisible(真);
TableColumn的训练班=新TableColumn的(tableViewer.getTable(),SWT.NONE);
tc.setWidth(1600);
tc.setText(“测试”);
TableItem钛=新TableItem(tableViewer.getTable(),SWT.NONE);
tableViewer.getTable()。setBounds(0,0,440,400);
字符串测试=“”;
对于(整合酶= 0;“200,我+ +)(
字符串str =“000”+我;
测试=测试+ str.substring(str.length() - 3,str.length())+“|”;
)
测试+ =“结束”;
ti.setText(测试);
shell.open();
System.out.println(tableViewer.getTable()。getItem(0)。gettext的());
System.out.println(test.substring(0,test.lastIndexOf(“| 065”))。长度());
而(!shell.isDisposed())(
如果(!shell.getDisplay()。readAndDispatch())
shell.getDisplay()。睡眠();
)
shell.setSize(450,450);
TableViewer tableViewer =新TableViewer(壳,SWT.H_SCROLL);
tableViewer.getTable()。setHeaderVisible(真);
TableColumn的训练班=新TableColumn的(tableViewer.getTable(),SWT.NONE);
tc.setWidth(1600);
tc.setText(“测试”);
TableItem钛=新TableItem(tableViewer.getTable(),SWT.NONE);
tableViewer.getTable()。setBounds(0,0,440,400);
字符串测试=“”;
对于(整合酶= 0;“200,我+ +)(
字符串str =“000”+我;
测试=测试+ str.substring(str.length() - 3,str.length())+“|”;
)
测试+ =“结束”;
ti.setText(测试);
shell.open();
System.out.println(tableViewer.getTable()。getItem(0)。gettext的());
System.out.println(test.substring(0,test.lastIndexOf(“| 065”))。长度());
而(!shell.isDisposed())(
如果(!shell.getDisplay()。readAndDispatch())
shell.getDisplay()。睡眠();
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询