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