网络通信随想
2008-11-04 11:23
141 查看
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://kpdus.tripod.com/jad.html // Decompiler options: packimports(3) fieldsfirst ansi space // Source File Name: EasyLookAction.java package org.jxc.easylook.popup.actions; import java.io.File; import org.eclipse.core.resources.*; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IPath; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.internal.core.JarPackageFragmentRoot; import org.eclipse.jdt.internal.core.PackageFragment; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.IObjectActionDelegate; import org.eclipse.ui.IWorkbenchPart; public class EasyLookAction implements IObjectActionDelegate { private Object selected; private Class selectedClass; public EasyLookAction() { selected = null; selectedClass = null; } public void setActivePart(IAction iaction, IWorkbenchPart iworkbenchpart) { } public void run(IAction action) { if (selected == null) return; File directory = null; if (selected instanceof IResource) directory = new File(((IResource)selected).getLocation().toOSString()); if (selected instanceof IFile) directory = directory.getParentFile(); if (directory == null) return; try { Runtime.getRuntime().exec((new StringBuilder("explorer.exe /n,")).append(directory.toString()).toString()); } catch (Exception ) { } } public void selectionChanged(IAction action, ISelection selection) { try { IAdaptable adaptable = null; selected = "unknown"; if (selection instanceof IStructuredSelection) { adaptable = (IAdaptable)((IStructuredSelection)selection).getFirstElement(); selectedClass = adaptable.getClass(); if (adaptable instanceof IResource) selected = (IResource)adaptable; else if ((adaptable instanceof PackageFragment) && (((PackageFragment)adaptable).getPackageFragmentRoot() instanceof JarPackageFragmentRoot)) selected = getJarFile(((PackageFragment)adaptable).getPackageFragmentRoot()); else if (adaptable instanceof JarPackageFragmentRoot) selected = getJarFile(adaptable); else selected = (IResource)adaptable.getAdapter(org/eclipse/core/resources/IResource); } } catch (Throwable ) { } } protected File getJarFile(IAdaptable adaptable) { JarPackageFragmentRoot jpfr = (JarPackageFragmentRoot)adaptable; File selected = jpfr.getPath().makeAbsolute().toFile(); if (!selected.exists()) { File projectFile = new File(jpfr.getJavaProject().getProject().getLocation().toOSString()); selected = new File((new StringBuilder(String.valueOf(projectFile.getParent()))).append(selected.toString()).toString()); } return selected; } }
相关文章推荐
- JavaSE7新特性 异步非阻塞I/O 网络通信 AIO
- 网络通信中的噪声
- 网络通信--封包和拆包
- 网络编程之客户端之间的通信实例
- NetworkComms网络通信框架配套CodeSmith模板使用简介
- IOS网络通信 socket第三方库 AsyncSocket(GCDAsyncSocket)
- 基于TCP网络通信的自动升级程序源码分析-启动升级文件下载程序
- acl 网络通信与服务器框架库示例列表
- c#网络通信框架networkcomms内核解析之一 消息传送
- Android 使用 HttpClient 进行网络通信,包括Get方式和Post方式
- 基于TCP网络通信的自动升级程序源码分析-客户端接收文件
- 【开源下载】基于TCP网络通信的自动升级程序c#源码
- Java基于多线程的网络通信实现服务器计算正方形面积
- c#网络通信框架networkcomms内核解析之十 支持优先级的自定义线程池
- socket网络间通信传送任意大小和格式的文件
- 网络通信 Socket 实现TCP
- 网络通信 --> Linux 五种IO模型
- 西门子s7200+cp243-1网络通信断电重启不能自恢复问题解决
- 网络通信 Datagram 实现UDP
- C++ Socket网络通信实现一个服务器端和多个客户端的通信