Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在我的EclipseRCP应用程序中,table.getSelection()从另一个选项卡返回所选行_Java_Eclipse_Eclipse Rcp - Fatal编程技术网

Java 在我的EclipseRCP应用程序中,table.getSelection()从另一个选项卡返回所选行

Java 在我的EclipseRCP应用程序中,table.getSelection()从另一个选项卡返回所选行,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,我目前正在使用开普勒开发一个eclipse rcp应用程序 我的应用程序可以有多个选项卡,每个选项卡包含一个包含不同数据的表。选项卡上有一个按钮,用于向选项卡内的表中添加行。但是,当我打开多个选项卡,然后返回到我首先打开的选项卡时,当执行以下代码时,它会尝试从我最后打开的选项卡中获取所选项目- TableItem[] tblItem = tableTC.getSelection(); 好像我需要这样的东西- TableItem[] tblItem = getActivePart().table

我目前正在使用开普勒开发一个eclipse rcp应用程序

我的应用程序可以有多个选项卡,每个选项卡包含一个包含不同数据的表。选项卡上有一个按钮,用于向选项卡内的表中添加行。但是,当我打开多个选项卡,然后返回到我首先打开的选项卡时,当执行以下代码时,它会尝试从我最后打开的选项卡中获取所选项目-

TableItem[] tblItem = tableTC.getSelection();
好像我需要这样的东西-

TableItem[] tblItem = getActivePart().tableTC.getSelection();
当我执行getPartName()时,返回正确的选项卡名称,但是它试图从不同的部分获取表数据

侦听器代码-

Button btnEdit = new Button(cmpBtnSide, SWT.PUSH | SWT.HORIZONTAL);
btnEdit.setText("Edit");
btnEdit.addListener(SWT.Selection, new Listener() {

        @Override
        public void handleEvent(Event arg0) {
            // TODO Auto-generated method stub

            TableItem[] tblItem = tableTC.getSelection();



        }

    });
任何帮助都将不胜感激


谢谢

这个问题是由我的表在代码顶部声明为静态变量引起的


感谢格雷格的解决方案

那么什么是
tableTC
?选项卡更改时如何设置?tableTC只是一个表,在我的代码顶部声明为
static table tableTC=null该表最初是通过数据库查找填充的。我想通过点击表格并按下“编辑”按钮来提供编辑数据的功能按钮的listenerUpdated包含按钮的代码如果你声明某个东西是
静态的
,那么它只有一个实例-所以我猜你最终会发现它指向哪个选项卡设置它最后一个。每个选项卡可能都需要一个非静态变量。谢谢greg,我会尝试一下