java - 如何在 TabFolder 中嵌入 SWT TableViewer?

标签 java swt jface tableviewer tabbed-view

我正在尝试嵌入 JFace TableViewer在 SWT TabFolder ,但是当我这样做时,表格没有显示出来。我的当前(工作代码)GitToDo代码看起来像(参见 this Git repos):

    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Git ToDo");
    FillLayout layout = new FillLayout();
    shell.setLayout(layout);

    final GitToDoTree tableViewer = new GitToDoTree(shell);

其中后者GitToDoTree 使用此构造函数扩展 TableViewer:

    super(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.FILL);
    this.shell = parent;
    table = this.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

因此,当我从 Shell 构建扩展 TableViewer 的 GitToDoTree 时,它​​可以工作,但一旦我尝试从 TabFolder 或(也尝试过)复合构建它,就不再显示任何内容。

如何让我的 TableViewer 显示在 TabFolder 中?

最佳答案

如果将 TableViewer 类添加到 Composite 时未显示,我会说您可能没有为嵌套的 Composite 设置布局.

final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("Git ToDo");
FillLayout layout = new FillLayout();
shell.setLayout(layout);

Composite composite = new Composite(shell, SWT.NONE);
composite.setLayout(new FillLayout()); // Possible missing layout?

final GitToDoTree tableViewer = new GitToDoTree(composite);

至于 TabFolder 可能是您没有在 TabItem 上设置客户端控件

TabFolder tabFolder = new TabFolder(shell, SWT.NONE);
TabItem item = new TabItem(tabFolder, SWT.NONE);
item.setText("Table");

GitToDoTree viewer = new GitToDoTree(tabFolder);
item.setControl(viewer.getTable()); // Possible setControl call?

TabItem item2= new TabItem(tabFolder, SWT.NONE);
item2.setText("Empty");

关于java - 如何在 TabFolder 中嵌入 SWT TableViewer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2397925/

相关文章:

java - 具有列 : Remove alternating background coloring for rows on Linux/Mac 的 SWT 树

java - Eclipse - 自定义启动配置 - 应用/恢复按钮

java - 如何更改 org.eclipse.jface.wizard.Wizard 中按钮的文本

java - 如何在Java中实现 session 压缩?

java - JDK1.8 和 Mac Yosemite 10.10.3 无法启动 openfire 3.10.0

java - 我怎样才能摆脱不及物比较器?

java - 通过选项卡浏览子项时是否专注于合成?

java - 为什么这总是评估为假?

java - Eclipse SWT ImageData getPixel 在 Windows 和 Mac OSX 上返回不同的值

eclipse - 如何为 Eclipse PDE 安装源代码/javadoc?