当前位置: 首页 > 知识库问答 >
问题:

JFace SWT复合表查看器

关宏毅
2023-03-14

当我尝试创建复合表列时出错?

import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.part.ViewPart;

 public class Theartview extends ViewPart implements Serializable {

   public void createPartControl(Composite parent) {

    Composite tableComposite = new Composite(parent, SWT.NONE);
    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
            true));
  }
 }

共有1个答案

盖博简
2023-03-14

代码所做的一切就是使用TableColumnLayout设置表的布局。您尚未实际创建此布局将管理的表。在这种状态下运行代码时,它会崩溃,因为它找不到表。

因此,您必须添加代码来创建TableViewer,至少这可能是这样的:

Composite tableComposite = new Composite(parent, SWT.NONE);
TableColumnLayout tableColumnLayout = new TableColumnLayout();
tableComposite.setLayout(tableColumnLayout);
tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

TableViewer viewer = new TableViewer(tableComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
viewer.setContentProvider(ArrayContentProvider.getInstance());
// TODO viewer.setLabelProvider(new ViewLabelProvider());
viewer.setInput(new String[] {"One", "Two", "Three"});

我刚刚在这里展示了一个简单的setInput,您需要更改它。您可能还必须定义一个标签提供程序。

这个非常简单的表不使用列。您需要使用TableViewerCol列定义列以充分利用此布局。

注意:ViewPart是插件中的Eclipse视图(可能是独立RCP的一部分)。它不是普通的JFace SWT应用程序。

 类似资料:
  • 表查看器 以网格显示表数据。数据可以用两种模式显示:网格查看 和 表单查看。表查看器工具栏提供了以下功能管理数据: 开始事务、提交 或 回滚 点击 开始事务 来开始一个事务。令事务中的全部改变永久完成,点击 提交。或点击 回滚 来在当前的事务中撤消所做的工作。 提示:提交 和 回滚 按钮只有当在选项中启用 自动开始事务 或按了 开始事务 按钮时可用。 导入数据 从文件导入数据。 导出数据 导出数据

  • 我有下面的屏幕(图像),当按下按钮时,它会显示一个侧菜单。菜单会出现,另外我还有一个uitableview来显示其他内容 我的问题是,当侧菜单出现时,uitableview的大小会调整。 我如何保持我的uitableview完整?我一直在尝试下一个,但我没有得到任何东西:

  • 我正在使用SWT创建一个新项目。我将在项目中有3或4个不同的表。我对SWT相当陌生,我发现自己在问自己是应该只使用< code >表格还是应该使用< code >表格查看器。 我想学习一些好的指导方针,告诉我什么时候只使用< code>Table以及什么时候< code>TableViewer是最佳途径。 < li >使用< code>TableViewer而不是< code>Table有什么好处

  • scard key 如果set是空或者key不存在返回0

  • 主要内容:DESCRIBE:以表格的形式展示表结构,SHOW CREATE TABLE:以SQL语句的形式展示表结构创建完数据表之后,经常需要查看表结构(表信息)。在 MySQL 中,可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。 DESCRIBE:以表格的形式展示表结构 DESCRIBE/DESC 语句会以表格的形式来展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法格式如下: DESCRIBE <表名>; 或简写成: D

  • “进程列表”页面显示当前在已选择实例上运行的所有进程。你可以检查当前正在运行哪些查询。进程列表提供了以下详细信息。 MySQL 或 MariaDB ID - 线程 ID。 用户@主机 - 发出语句的用户。 数据库 - 用户当前使用的数据库。 命令 - 用户发出的命令的类型。 时间 - 线程处于当前状态的时间(以秒为单位)。 状态 - 指示线程正在执行的状态。 信息 - 用户发出的语句。 SQL S