使用Eclipse中的更新配置界面

15 篇文章 1 订阅

在Eclipse中的众多特性中有一条可以自动更新的功能,

 

我们可能在实际使用中也需要Eclipse那样的更新功能,而Eclipse提供了更新和管理插件的配置对话框,在这里我们可用发扬发扬"拿来主义",直接拿过来用,过程很简单,步骤如下

新建一个插件项目,然后打开 plugin.xml 文件,切换到 Extensions 选项卡,增加"org.eclipse.ui.actionSets" 扩展点,然后新建如下节点

下面是整个plugin.xml 文件内容

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>

   
< extension
         
id="application"

         point
="org.eclipse.core.runtime.applications">
      
<application>
         
< run
               
class="updateandinstall.Application">

         
</run>
      
</application>
   
</extension>
   
< extension
         
point="org.eclipse.ui.perspectives">

      
< perspective
            
name="Perspective"

            class
="updateandinstall.Perspective"
            id
="UpdateAndInstall.perspective">
      
</perspective>
   
</extension>
   
< extension
         
point="org.eclipse.ui.views">

      
< view
            
name="View"

            class
="updateandinstall.View"
            id
="UpdateAndInstall.view">
      
</view>
   
</extension>
   
< extension
         
point="org.eclipse.ui.actionSets">

      
< actionSet
            
id="SMS.actionSet1"

            label
="软件更新">
         
< menu
               
id="SMS.menu3"

               label
="软件更新">
            
< separator
                  
name="group0">

            
</separator>
            
< separator
                  
name="group1">

            
</separator>
         
</menu>
         
< action
               
class="updateandinstall.actions.InstallWizardAction"

               disabledIcon
="icons/update/usearch_obj.gif"
               icon
="icons/update/usearch_obj.gif"
               id
="SMS.action3"
               label
="查找并安装"
               style
="push">
         
</action>
         
< action
               
class="updateandinstall.actions.ConfigurationManagerAction"

               disabledIcon
="icons/update/configs.gif"
               icon
="icons/update/configs.gif"
               id
="SMS.action4"
               label
="配置管理"
               style
="push">
         
</action>
      
</actionSet>
   
</extension>

</plugin>
    

 我们要使这个扩展菜单项生效,必须要新建对应的Action类来负责执行操作,先来看"查找并安装"对应的Action类  InstallWizardAction .java

package  updateandinstall.actions;

import
 org.eclipse.jface.action.Action;
import
 org.eclipse.jface.action.IAction;
import
 org.eclipse.jface.viewers.ISelection;
import
 org.eclipse.swt.custom.BusyIndicator;
import
 org.eclipse.ui.IWorkbenchWindow;
import
 org.eclipse.ui.IWorkbenchWindowActionDelegate;
import
 org.eclipse.ui.PlatformUI;
import
 org.eclipse.update.ui.UpdateManagerUI;

public class InstallWizardAction extends Action implements
 IWorkbenchWindowActionDelegate{

    
private
 IWorkbenchWindow window;
    
    
public
 InstallWizardAction(){
        
    }
    
public void
 dispose() {
        
// TODO 自动生成方法存根

        
    }

    
public void
 init(IWorkbenchWindow window) {
        
this.window=
window;
    }

    
public void
 run(IAction action) {
        openInstaller(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
    }

    
public void
 selectionChanged(IAction action, ISelection selection) {
        
// TODO 自动生成方法存根

        
    }
    
    
private void openInstaller(final
 IWorkbenchWindow window){
        BusyIndicator.showWhile(window.getShell().getDisplay(),
new
 Runnable(){
            
public void
 run(){
                UpdateManagerUI.openInstaller(window.getShell());
            }
        });
    }
}    

我们通过这个类直接调用更新管理器中提供的API就行了

"配置管理" 对应的Action类  ConfigurationManagerAction .java

package  updateandinstall.actions;

import
 org.eclipse.jface.action.IAction;
import
 org.eclipse.jface.viewers.ISelection;
import
 org.eclipse.swt.custom.BusyIndicator;
import
 org.eclipse.ui.IWorkbenchWindow;
import
 org.eclipse.ui.IWorkbenchWindowActionDelegate;
import
 org.eclipse.update.ui.UpdateManagerUI;

public class ConfigurationManagerAction implements
 IWorkbenchWindowActionDelegate{

    
private
 IWorkbenchWindow window;

    
public void
 dispose() {
        
// TODO 自动生成方法存根

        
    }

    
public void
 init(IWorkbenchWindow window) {
        
this.window=
window;
    }

    
public void
 run(IAction action) {
        BusyIndicator.showWhile(window.getShell().getDisplay(),
new
 Runnable(){
            
public void
 run(){
                UpdateManagerUI.openConfigurationManager(window.getShell());
            }
        });
    }

    
public void
 selectionChanged(IAction action, ISelection selection) {
        
// TODO 自动生成方法存根

    }
}    

  这样的话我们就可以使用Eclipse中更新管理器中的更新功能了,在程序打包的时候好记得把关于更新的插件给打包进去就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值