⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menuitem.java

📁 kaffe是一个java虚拟机的源代码。里面包含了一些java例程和标准的java包。
💻 JAVA
字号:
package java.awt;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.util.EventListener;import java.util.Vector;import kaffe.util.Ptr;/** * class MenuItem - * * Copyright (c) 1999 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. * */public class MenuItem  extends MenuComponent  implements ShortcutConsumer{	Ptr nativeData;	MenuShortcut shortcut;	String label;	ActionListener aListener;	String aCmd;	int eventMask;public MenuItem() {	this( null, null);}public MenuItem( String label) {	this( label, null);}public MenuItem( String label, MenuShortcut s) {	setShortcut( s);	setLabel( label);	setFont( defFnt);}public synchronized void addActionListener( ActionListener l) {	if ( ! isSeparator() )		aListener = AWTEventMulticaster.add( aListener, l);}public void addNotify() {	if ( ( flags & IS_ADD_NOTIFIED) == 0) {		if ( (parent != null) && ( parent instanceof Menu) ) {			Menu m = (Menu)parent;			Toolkit.menuInsertItem( m.nativeData, nativeData, label, -1, this);			if ( ! isEnabled() ) {				Toolkit.menuEnableItem( m.nativeData, this, false);			}		}		if ( shortcut != null ) {			ShortcutHandler.addShortcut( shortcut, owner, this);		}		flags |= IS_ADD_NOTIFIED;	}}Vector addShortcuts( Vector v) {	if ( shortcut != null)		v.addElement( shortcut);	return v;}public void deleteShortcut() {	if ( (flags & IS_ADD_NOTIFIED) > 0 ) {		if ( shortcut != null )			ShortcutHandler.removeFromOwner( owner, shortcut);	}	shortcut = null;}/** * @deprecated */public synchronized void disable() {	setEnabled(false);}public void disableEvents ( long disableMask ) {	eventMask &= ~disableMask;  }/** * @deprecated */public synchronized void enable() {	setEnabled(true);}/** * @deprecated */public void enable(boolean on) {	setEnabled(on);}public void enableEvents ( long enableMask ) {	eventMask |= enableMask;}public String getActionCommand() {	return (aCmd != null) ? aCmd : label;}public String getLabel() {	return label;}public MenuShortcut getShortcut() {	return shortcut;}MenuItem getShortcutMenuItem( MenuShortcut s) {	if ( s.equals( shortcut))		return this;	return null;}public void handleShortcut ( MenuShortcut ms) {	int mods = (ms != null) ? ms.mods : 0;	if ( (aListener != null) ||	     ((eventMask & (AWTEvent.ACTION_EVENT_MASK|AWTEvent.DISABLED_MASK))		 == AWTEvent.ACTION_EVENT_MASK) ||	     ((flags & IS_OLD_EVENT) > 0) ) {		Toolkit.eventQueue.postEvent( ActionEvt.getEvent( this, ActionEvent.ACTION_PERFORMED,		                                                  getActionCommand(), mods));		return;	}	MenuContainer mp = parent;	for (;;) {		if (!(mp instanceof Menu)) {			break;		}		Menu m = (Menu)mp;		if ( (m.aListener != null) ||		     ((m.eventMask & (AWTEvent.ACTION_EVENT_MASK|AWTEvent.DISABLED_MASK))			 == AWTEvent.ACTION_EVENT_MASK) ) {			Toolkit.eventQueue.postEvent( ActionEvt.getEvent( m, ActionEvent.ACTION_PERFORMED,			                                                  getActionCommand(), mods));			return;		}		mp = m.parent;	}}public boolean isEnabled() {	return (eventMask & AWTEvent.DISABLED_MASK) == 0;}public boolean isSeparator() {	return ((label == null) || (label.startsWith( "-")));}public String paramString() {	return getClass().getName() + "[Label: " + label + "]";}void process ( ActionEvent e ) {	if ( (aListener != null) ||	     ((eventMask & (AWTEvent.ACTION_EVENT_MASK|AWTEvent.DISABLED_MASK))		 == AWTEvent.ACTION_EVENT_MASK) ){		processEvent( e);	}	else if ( (flags & IS_OLD_EVENT) > 0 ) {		postEvent( Event.getEvent( e));	}	else if ( (parent != null) && (parent instanceof Menu) ) {		((Menu)parent).process( e);	}}protected void processActionEvent ( ActionEvent e ) {	if (aListener != null) {		aListener.actionPerformed( e);	}}protected void processEvent ( AWTEvent e ) {	// same uglyness like in Component.processEvent - we already had it down	// to the specific Event class and now have to go up to AWTEvent again because	// this might be re-implemented by a derived class	if ( e.id == ActionEvent.ACTION_PERFORMED ) {		processActionEvent( (ActionEvent)e);	}}public synchronized void removeActionListener( ActionListener l) {	aListener = AWTEventMulticaster.remove( aListener, l);}public void removeNotify() {	if ( (flags & IS_ADD_NOTIFIED) > 0 ) {		if ( shortcut != null )			ShortcutHandler.removeFromOwner( owner, shortcut);		flags &= ~IS_ADD_NOTIFIED;		owner = null;		parent = null;	}}public void setActionCommand( String cmd) {	aCmd = cmd;}public synchronized void setEnabled ( boolean isEnabled ) {	if ( isEnabled)		eventMask &= ~AWTEvent.DISABLED_MASK;	else		eventMask |= AWTEvent.DISABLED_MASK;	if ( (parent != null) && (parent instanceof Menu) ) {		Ptr p = ((Menu)parent).nativeData;		if ( p != null ) {			Toolkit.menuEnableItem( p, this, isEnabled);		}	}}public synchronized void setLabel( String label) {	this.label = label;}public void setShortcut( MenuShortcut s) {	//has to be cloned due to existing links	MenuShortcut ms = ( s != null) ? new MenuShortcut( s) : null;	if ((flags & IS_ADD_NOTIFIED) > 0 ) {		if ( shortcut != null ) {			ShortcutHandler.removeFromOwner( owner, shortcut);		}		if ( ms != null )			ShortcutHandler.addShortcut( ms, owner, this);	}	shortcut = ms;}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -