Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 有没有办法为eclipse视图指定多个处理程序类?_Java_Eclipse_Eclipse Plugin_Eclipse Rcp - Fatal编程技术网

Java 有没有办法为eclipse视图指定多个处理程序类?

Java 有没有办法为eclipse视图指定多个处理程序类?,java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,我正在从事eclipse插件开发的一项任务。我需要创建一个视图,该视图的内容会根据标志进行更改 if(flag == 1){ // show 1 button in view } if(flag == 2){ // show 2 buttons in view } 我不想将这些条件放在视图的处理程序类中。相反,我希望有两个单独的类来处理视图的单独输入 if(flag == 1){ // show view with handler class 1 } if(flag == 2){ // sho

我正在从事eclipse插件开发的一项任务。我需要创建一个视图,该视图的内容会根据标志进行更改

if(flag == 1){
// show 1 button in view
}
if(flag == 2){
// show 2 buttons in view
}
我不想将这些条件放在视图的处理程序类中。相反,我希望有两个单独的类来处理视图的单独输入

if(flag == 1){
// show view with handler class 1
}
if(flag == 2){
// show view with handler class 2
}
因此,我可以为视图拥有多个处理程序类吗

编辑1:以下是我如何在plugin.xml中定义视图

<extension
         point="org.eclipse.ui.views">
  <view
        category="views"
        class="GitView"
        icon="icons/view/git.png"
        id="GitView"
        name="%git.repository.view.name">
  </view>
</extension>


类“GitView”是视图的处理程序类,它应该实现IViewPart接口。

只需使用构造函数创建两个类即可。并在新类中生成函数

if(flag == 1){
    Class1 object1 = new Class1(Button button1);
    object1.showbutton1();
}
if(flag == 2){
    Class2 object2 = new Class2(Button button2);
    object2.showbutton2();
}
对于新课程来说,是这样的:

public class Class1{
    private Button button;

    public Class1(Button buttonparam){
        this.button = buttonparam;
    }

    public void showbutton1(){
        //create your view with button and show it 
    }
}

这适用于3.1兼容模式。但是在plugin.xml中,我只能为一个视图定义一个处理程序。那么,如何为一个视图定义两个处理程序,然后根据标志激活所需的处理程序?@greg-449请参阅我的编辑1。谢谢。不,你不能为IViewPart上多节课。好的。谢谢@greg-449。