写了个netbeans的easyExplorer的插件

mengweilil 2008-07-14 10:31:24
选中一个文件或一个目录(或者正在编辑一个文件的时候),从菜单选easyExplorer选项,可以用windows的explorer打开这个文件的当前目录。

类似于eclipse的easyExplorer插件。

功能简单,明显的bug:如果你选中库当中的一个jar文件下的一个类文件,则会报错。

还没搞明白怎么支持鼠标右键。

文件-》新建项目-》netbeans模块-》模块
随便起个名字,然后下一步,然后完成。

选择刚才建的项目,鼠标右键,选择新建操作-》有条件的启用(默认project)-》用户选择一个节点,然后选下一步-》


然后要等很长时间(我的机器要10分钟,好的机器也要2、3分钟)

然后一路默认下去就好

然后选择项目,选择属性,修改库,要包括节点api、实用程序api、文件系统api,删掉原来的project api。

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.csdn.easyexplorer;

import java.io.IOException;
import org.openide.filesystems.FileObject;
import org.openide.nodes.Node;
import org.openide.util.Exceptions;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
import org.openide.util.actions.CookieAction;

public final class EasyExplorer extends CookieAction {

protected void performAction(Node[] activatedNodes) {

FileObject fb = activatedNodes[0].getLookup().lookup(FileObject.class);
//只有FileObject被选中的时候,才能激活菜单,因此fb肯定不会为null。
//因为单选模式,所以activatedNodes只有一个元素。
String path;
if (fb.isFolder()) {
path = fb.getPath().replaceAll("/", "\\\\");
} else {
path = fb.getParent().getPath().replaceAll("/", "\\\\");
}
try {
Runtime.getRuntime().exec("explorer.exe " + path);
// TODO use project
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
}
// TODO use project
}

protected int mode() {
return CookieAction.MODE_EXACTLY_ONE;
//单选模式
}

public String getName() {
return NbBundle.getMessage(EasyExplorer.class, "CTL_EasyExplorer");
}

protected Class[] cookieClasses() {
return new Class[]{FileObject.class};
//确定什么情况下该功能被激活(就是菜单可以选择)
}

@Override
protected void initialize() {
super.initialize();
// see org.openide.util.actions.SystemAction.iconResource() Javadoc for more details
putValue("noIconInMenu", Boolean.TRUE);
}

public HelpCtx getHelpCtx() {
return HelpCtx.DEFAULT_HELP;
}

@Override
protected boolean asynchronous() {
return false;
}
}

生产,然后选择在开发ide中安装/重新装入,即可。



...全文
217 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qeveeqnui 2009-01-09
  • 打赏
  • 举报
回复
能不能写一个既能用于Windows 也能用于Linux的Java代码。

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧