KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > bridges > menu > ScriptedItem


1 package rero.bridges.menu;
2
3 import java.awt.*;
4 import java.awt.event.*;
5
6 import java.util.*;
7
8 import javax.swing.*;
9 import javax.swing.event.*;
10
11 import sleep.runtime.*;
12 import sleep.engine.*;
13
14 import rero.script.*;
15
16 public class ScriptedItem extends JMenuItem implements ActionListener
17 {
18    protected ScriptInstance owner;
19    protected Block code;
20
21    public ScriptedItem(ScriptInstance _owner, String JavaDoc _label, Block _code)
22    {
23        if (_label.indexOf('&') > -1)
24        {
25           setText( _label.substring(0, _label.indexOf('&')) + _label.substring(_label.indexOf('&') + 1, _label.length()) );
26           setMnemonic(_label.charAt(_label.indexOf('&') + 1));
27        }
28        else
29        {
30           setText(_label);
31        }
32
33        owner = _owner;
34        code = _code;
35
36        addActionListener(this);
37    }
38
39    public void actionPerformed(ActionEvent e)
40    {
41        HashMap locals = ScriptedPopupMenu.getMenuData();
42
43        if (locals == null)
44        {
45           locals = new HashMap();
46        }
47        locals.put("$command", e.getActionCommand());
48
49        ScriptCore.runCode(owner, code, locals);
50    }
51 }
52
Popular Tags