WEB开发网
开发学院软件开发Java 使用 JavaScript 脚本化 Java 应用 阅读

使用 JavaScript 脚本化 Java 应用

 2010-02-24 00:00:00 来源:WEB开发网   
核心提示: 在 initEnv 中,我们创建一个新的插件,使用 JavaScript 脚本化 Java 应用(6),这个插件负责加载 menubar.js 脚本,然后将这个插件安装在管理器上,然后通过此菜单的事件处理器,我们让该脚本弹出一个新的窗口,最后我们将一个名为 pluginList 的 List 对

在 initEnv 中,我们创建一个新的插件,这个插件负责加载 menubar.js 脚本,然后将这个插件安装在管理器上,最后我们将一个名为 pluginList 的 List 对象放到这个插件的上下文中。

然后,我们来到 MainFrame.java 这个类中,在 initUI() 方法中,我们将 menubar 的实例 mBar 公开给脚本:

代码 5. 公开 JMenuBar 实例

Plugin pMenuBar = TodoPluginManager.getInstance().getPlugin("menubar"); 
pMenuBar.execute("_customizeMenuBar_", mbar); 

好了,我们来看下一步:

提供第一个脚本

我们提供的第一个脚本很简单,为宿主程序添加一个菜单项,然后通过此菜单的事件处理器,我们让该脚本弹出一个新的窗口,这个窗口显示目前被加载到应用中的插件的列表。

代码 6. 第一个脚本

importPackage(java.awt, java.awt.event) 
importPackage(Packages.javax.swing) 
importClass(java.lang.System) 
importClass(java.lang.reflect.Constructor) 
 
function buildPluginMenu(){ 
  var menuPlugin = new JMenu(); 
  menuPlugin.setText("Plugin"); 
 
  var menuItemListPlugin = new JMenuItem(); 
  menuItemListPlugin.setText("list plugins"); 
  menuItemListPlugin.addActionListener( 
  new JavaAdapter( 
    ActionListener, { 
      actionPerformed : function(event){ 
        var plFrame = new JFrame("plugins list"); 
        var epNote = new JEditorPane(); 
        var s = ""; 
        for(var i = 0; i<pluginList.size();i++){ 
          var pi = pluginList.get(i); 
          s += pi.getName()+":"+pi.getDescription()+"\n"; 
        } 
        epNote.setText(s); 
        epNote.setEditable(false); 
        plFrame.add(epNote, BorderLayout.CENTER); 
        plFrame.setSize(200,200); 
        plFrame.setLocationRelativeTo(null); 
        plFrame.setVisible(true); 
      } 
    } 
  ) 
  ); 
 
  menuPlugin.add(menuItemListPlugin); 
 
  return menuPlugin; 
} 
 
//this function will be invoked from java code, MainFrame... 
function _customizeMenuBar_(menuBar){ 
  menuBar.add(buildPluginMenu()); 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 JavaScript 脚本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接