KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sshtools > ui > swing > ToggledPopupMenu


1 /*
2  * Created on 01-Aug-2003
3  *
4  * To change the template for this generated file go to
5  * Window - Preferences - Java - Code Generation - Code and Comments
6  */

7 package com.sshtools.ui.swing;
8
9 import javax.swing.Action JavaDoc;
10 import javax.swing.BorderFactory JavaDoc;
11 import javax.swing.JButton JavaDoc;
12 import javax.swing.JPopupMenu JavaDoc;
13 import javax.swing.JToggleButton JavaDoc;
14 import javax.swing.event.PopupMenuEvent JavaDoc;
15 import javax.swing.event.PopupMenuListener JavaDoc;
16
17
18 public class ToggledPopupMenu extends JPopupMenu JavaDoc {
19
20     private ToolBarToggleButton toggle;
21     private ToggledPopupAction action;
22
23     public ToggledPopupMenu(ToggledPopupAction action, String JavaDoc iconKey) {
24         super((String JavaDoc) action.getValue(Action.NAME));
25         this.action = action;
26
27         toggle = new ToolBarToggleButton(action, iconKey, false);
28
29         action.setPopup(this);
30         action.setToggle(toggle);
31
32         setLightWeightPopupEnabled(true);
33         addPopupMenuListener(new PopupMenuListener JavaDoc() {
34
35             public void popupMenuWillBecomeVisible(PopupMenuEvent JavaDoc e) {
36                 if (!ToggledPopupMenu.this.toggle.isSelected()) {
37                     ToggledPopupMenu.this.toggle.setSelected(true);
38                 }
39             }
40
41             public void popupMenuWillBecomeInvisible(PopupMenuEvent JavaDoc e) {
42                 ToggledPopupMenu.this.toggle.setSelected(false);
43
44             }
45
46             public void popupMenuCanceled(PopupMenuEvent JavaDoc e) {
47             }
48
49         });
50     }
51
52     public JButton JavaDoc addButtonAction(AppAction action) {
53         ActionButton item = new ActionButton(action, false, false);
54         item.setOpaque(false);
55         item.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
56         add(item);
57         return item;
58     }
59
60     public ToggledPopupAction getAction() {
61         return action;
62     }
63
64     public JToggleButton JavaDoc getToggleButton() {
65         return toggle;
66     }
67 }
Popular Tags