首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对齐TableViewer和TreeViewer

对齐TableViewer和TreeViewer
EN

Stack Overflow用户
提问于 2013-07-18 19:11:16
回答 1查看 228关注 0票数 0

我正在创建一个SWT应用程序,其中包含两个TreeViewers和一个TableViewer

TableViewer包含每一行中的图像,这些图像指示TreeViewer该行中日期的某些内容。

但是,问题是TableViewer中的图像与TreeViewer中的行没有正确地对齐。我有什么办法确保他们的行保持完全平直吗?

谢谢

添加了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-22 20:32:43

您可以通过重写“测量方法”的行为(即向Listener添加一个SWT.MeasureItem )来改变行高度的测量方式。有一个很好的例子,这里。只需使用您在TreeViewer中使用的图标的高度,再加上一些边框像素即可。

以下是重要的代码部分:

代码语言:javascript
复制
Display display = new Display();
Shell shell = new Shell(display);
shell.setBounds(10,10,200,250);
final Table table = new Table(shell, SWT.NONE);
table.setBounds(10,10,150,200);
table.setLinesVisible(true);
for (int i = 0; i < 5; i++) {
   new TableItem(table, SWT.NONE).setText("item " + i);
}
table.addListener(SWT.MeasureItem, new Listener() {
   public void handleEvent(Event event) {
      int clientWidth = table.getClientArea().width;
      event.height = event.gc.getFontMetrics().getHeight() * 2;
      event.width = clientWidth * 2;
   }
});
shell.open();
while (!shell.isDisposed()) {
   if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17731969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档