【问题标题】:Is there a way to specify multiple handler classes for an eclipse view?有没有办法为 Eclipse 视图指定多个处理程序类?
【发布时间】:2020-01-08 10:45:29
【问题描述】:

我正在处理 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 接口的视图的处理程序类。

【问题讨论】:

  • 这是 3.1 兼容模式。但在 plugin.xml 中,我只能为视图定义 1 个处理程序。那么,如何为一个视图定义两个处理程序,然后根据一个标志激活我需要的处理程序?
  • @greg-449 请查看我的编辑 1。谢谢。
  • 不,IViewPart 不能有多个类。
  • 好的。谢谢@greg-449。

标签: java eclipse eclipse-plugin eclipse-rcp


【解决方案1】:

只需使用构造函数创建两个类。并在新类中制作函数。

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 
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多