Eclipse插件开发(一)Hello World

 
 
     eclipse之所以如此强大,想必我们都看中了它众多的插件(plugin)功能吧,eclipse提供给我们的workspace本身就是它的一个插件。

         eclipse为我们开发插件提供了非常便利的接口,虽然我们可以使用诸如myeclipse的插件对spring,struts,hibernate等框架进行非常简捷的操作,但是我们有些时候也需要对自己或公司的一些框架和技术集成到eclipse中来简化和加快我们的开发。所以开发自己的eclipse插件也是要了解的。

         20秒完成你的第一个插件HelloWorld插件,以下所有操作和代码都基于eclipse 3.2         

          file->new->other->Plug-in Project新建一个插件项目,一直next到下图

   选择Hello,World完成,eclipse会生成插件代码。

 

  如上图所示,运行此项目run as->eclipse application 

eclipse会启动一个platform来显示此工作空间下的插件项目效果,这个插件非常简单只是提示hello world

实现代码在SimpleAction.java

 public void run(IAction action) {
  MessageDialog.openInformation(
   window.getShell(),
   "Sss Plug-in",
   "Hello, Eclipse world");
 }

eclipse图标即为插件的图标,修改run方法即可实现简单的其他插件的操作,

定义WeatherDia类

import java.awt.Frame;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;


import javax.swing.JDialog;
import javax.swing.JEditorPane;

 

public class WeatherDia extends JDialog {
      /**
  *
  */
 private static final long serialVersionUID = 1L;
 private JEditorPane editorpane;
      
       public WeatherDia(String title,boolean model)
       {
        super(new Frame(),title,model);
        init();
       }
       public void init()
       {
     
        this.setSize(800,400);
        this.setContentPane(getJEditorPane());
        try
           {
               //构建URL获得天气预报dc166.htm为成都的天气预报,查询其他城市可自己研究QQ的天气预报页面
               URL url  =new URL("http://weather.news.qq.com/inc/07_dc166.htm");
               String temp="";
               BufferedReader in
                = new BufferedReader(new InputStreamReader(url.openStream()));
               String inputLine;
               while ((inputLine = in.readLine()) != null)
                if(inputLine.indexOf("<!--")==-1)
                   temp=temp+inputLine+"/n";
               in.close(); 
              
               String  weather 
                 =temp.substring ( temp.indexOf( "<div"),
                                     temp.lastIndexOf( "</div>"));
               this.editorpane.setText(weather);
              
           }
           catch (Exception e)
           {
               e.printStackTrace();
           }

       
       }
      
       public JEditorPane getJEditorPane()
       {
        if(editorpane == null)
        {
         editorpane = new JEditorPane();
         editorpane.setContentType("text/html");
        }
        return editorpane;
       }
 
 
}

然后修改run方法为

public void run(IAction action) {
  
  WeatherDia wd = new WeatherDia("天气预报-成都",true);
  wd.setLocation(200,100);
  
  wd.setVisible(true);
 }

这样天气预报插件的开发就基本完毕了

修改plugin.xml文件

   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="Sample Action Set"
            visible="true"
            id="Test1.actionSet">
         <menu
               label="weather"
               id="sampleMenu">
            <separator
                  name="sampleGroup">
            </separator>
         </menu>
         <action
               label="weather"
               icon="icons/sample.gif"
               class="test1.actions.SampleAction"
               tooltip="成都天气"
               menubarPath="sampleMenu/sampleGroup"
               toolbarPath="sampleGroup"
               id="test1.actions.SampleAction">
         </action>
      </actionSet>
   </extension>

在次运行eclipse application看看效果,天气预报插件已经可以运行了

Eclipse插件开发(一)Hello World_第1张图片

 

你可能感兴趣的:(eclipse,String,MyEclipse,eclipse插件,application,action)