您的位置:首页 > 编程语言 > Java开发

使用Eclipse中的更新配置界面

2008-03-04 17:18 573 查看
在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中更新管理器中的更新功能了,在程序打包的时候好记得把关于更新的插件给打包进去就行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: