java - 如何获取tableviewer行项目?

标签 java eclipse plugins eclipse-plugin jface

我在带有 View 的插件内有一个表格查看器。表查看器有 5 列。当我选择行时,我需要行中的数据。例如:当我选择第 1 行时,监听器应将第 1 列第 1 行的数据存储在变量中。

我使用它来获取所选行中的数据,但它仅返回第一列的数据:

table.addListener(SWT.DefaultSelection, new Listener() {       
    public void handleEvent(Event event) {
          TableItem[] selection = table.getSelection();
          for (int i = 0; i < selection.length; i++)
          {                 
          System.out.println(selection[i].getText());
          }                    
    }
  });

如何获取该行所有列的数据?

最佳答案

使用TableViewer.addSelectionChangedListener

viewer.addSelectionChangedListener(new ISelectionChangedListener() {
  @Override
  public void selectionChanged(final SelectionChangedEvent event)
  {
    IStructuredSelection selection = (IStructuredSelection)event.getSelection();

    RowData rowData = (RowData)selection.getFirstElement();

    ....
  }
});

其中 RowData 是行的模型对象

关于java - 如何获取tableviewer行项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720039/

相关文章:

java - 从 Java 运行 MySql 失败

java - 将数组中的双空格替换为单空格

eclipse - 如何手动将软件/插件安装到 Eclipse IDE?

css - bootstrap 主题中没有显示很棒的字体,我使用的是 eclipse

VIM 支持通过 SFTP 上传

mysql - 升级到3.9后Wordpress插件出错

regex - 如何为 Intellij 配置 Grep 控制台

java - 如何将 OAuth 与 Imgur 一起使用?

java - Web 服务接收对象时子对象丢失

Java- Action 监听器检查两个按钮是否被按下