80 this.setToolTipText(tooltipText);
81 }
82
83 if (fMenuItem instanceof JRadioButtonMenuItem) {
84 final ComponentUI ui = fMenuItem.getUI();
85
86 if (ui instanceof ScreenMenuItemUI) {
87 ((ScreenMenuItemUI)ui).updateListenersForScreenMenuItem();
88 }
89 }
90 }
91
92 public void removeNotify() {
93 super.removeNotify();
94 removeActionListener(this);
95 fMenuItem.removePropertyChangeListener(fListener);
96 fListener = null;
97 fMenuItem.removeComponentListener(this);
98 }
99
100 static void syncLabelAndKS(MenuItem menuItem, String label, KeyStroke ks) {
101 final MenuComponentPeer peer = menuItem.getPeer();
102 if (!(peer instanceof CMenuItem)) {
103 //Is it possible?
104 return;
105 }
106 final CMenuItem cmi = (CMenuItem) peer;
107 if (ks == null) {
108 cmi.setLabel(label);
109 } else {
110 cmi.setLabel(label, ks.getKeyChar(), ks.getKeyCode(),
111 ks.getModifiers());
112 }
113 }
114
115 @Override
116 public synchronized void setLabel(final String label) {
117 syncLabelAndKS(this, label, fMenuItem.getAccelerator());
118 }
119
148 /**
149 * Invoked when the component has been made invisible.
150 * MenuComponent.setVisible does nothing,
151 * so we remove the ScreenMenuItem from the ScreenMenu
152 * but leave it in fItems
153 */
154 public void componentHidden(final ComponentEvent e) {
155 setVisible(false);
156 }
157
158 public void setVisible(final boolean b) {
159 // Tell our parent to add/remove us -- parent may be nil if we aren't set up yet.
160 // Hang on to our parent
161 final MenuContainer parent = getParent();
162
163 if (parent != null) {
164 ((ScreenMenuPropertyHandler)parent).setChildVisible(fMenuItem, b);
165 }
166 }
167
168 public void setToolTipText(final String text) {
169 final MenuComponentPeer peer = getPeer();
170 if (!(peer instanceof CMenuItem)) return;
171
172 final CMenuItem cmi = (CMenuItem)peer;
173 cmi.setToolTipText(text);
174 }
175
176 public void setIcon(final Icon i) {
177 final MenuComponentPeer peer = getPeer();
178 if (!(peer instanceof CMenuItem)) return;
179
180 final CMenuItem cmi = (CMenuItem)peer;
181 Image img = null;
182
183 if (i != null) {
184 if (i.getIconWidth() > 0 && i.getIconHeight() > 0) {
185 img = AquaIcon.getImageForIcon(i);
186 }
187 }
188 cmi.setImage(img);
189 }
190
191 // we have no children
192 public void setChildVisible(final JMenuItem child, final boolean b) {}
193
194 // only check and radio items can be indeterminate
195 public void setIndeterminate(boolean indeterminate) { }
|
80 this.setToolTipText(tooltipText);
81 }
82
83 if (fMenuItem instanceof JRadioButtonMenuItem) {
84 final ComponentUI ui = fMenuItem.getUI();
85
86 if (ui instanceof ScreenMenuItemUI) {
87 ((ScreenMenuItemUI)ui).updateListenersForScreenMenuItem();
88 }
89 }
90 }
91
92 public void removeNotify() {
93 super.removeNotify();
94 removeActionListener(this);
95 fMenuItem.removePropertyChangeListener(fListener);
96 fListener = null;
97 fMenuItem.removeComponentListener(this);
98 }
99
100 @SuppressWarnings("deprecation")
101 static void syncLabelAndKS(MenuItem menuItem, String label, KeyStroke ks) {
102 final MenuComponentPeer peer = menuItem.getPeer();
103 if (!(peer instanceof CMenuItem)) {
104 //Is it possible?
105 return;
106 }
107 final CMenuItem cmi = (CMenuItem) peer;
108 if (ks == null) {
109 cmi.setLabel(label);
110 } else {
111 cmi.setLabel(label, ks.getKeyChar(), ks.getKeyCode(),
112 ks.getModifiers());
113 }
114 }
115
116 @Override
117 public synchronized void setLabel(final String label) {
118 syncLabelAndKS(this, label, fMenuItem.getAccelerator());
119 }
120
149 /**
150 * Invoked when the component has been made invisible.
151 * MenuComponent.setVisible does nothing,
152 * so we remove the ScreenMenuItem from the ScreenMenu
153 * but leave it in fItems
154 */
155 public void componentHidden(final ComponentEvent e) {
156 setVisible(false);
157 }
158
159 public void setVisible(final boolean b) {
160 // Tell our parent to add/remove us -- parent may be nil if we aren't set up yet.
161 // Hang on to our parent
162 final MenuContainer parent = getParent();
163
164 if (parent != null) {
165 ((ScreenMenuPropertyHandler)parent).setChildVisible(fMenuItem, b);
166 }
167 }
168
169 @SuppressWarnings("deprecation")
170 public void setToolTipText(final String text) {
171 final MenuComponentPeer peer = getPeer();
172 if (!(peer instanceof CMenuItem)) return;
173
174 final CMenuItem cmi = (CMenuItem)peer;
175 cmi.setToolTipText(text);
176 }
177
178 @SuppressWarnings("deprecation")
179 public void setIcon(final Icon i) {
180 final MenuComponentPeer peer = getPeer();
181 if (!(peer instanceof CMenuItem)) return;
182
183 final CMenuItem cmi = (CMenuItem)peer;
184 Image img = null;
185
186 if (i != null) {
187 if (i.getIconWidth() > 0 && i.getIconHeight() > 0) {
188 img = AquaIcon.getImageForIcon(i);
189 }
190 }
191 cmi.setImage(img);
192 }
193
194 // we have no children
195 public void setChildVisible(final JMenuItem child, final boolean b) {}
196
197 // only check and radio items can be indeterminate
198 public void setIndeterminate(boolean indeterminate) { }
|