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

📄 checkboxmenuitem.java

📁 kaffe是一个java虚拟机的源代码。里面包含了一些java例程和标准的java包。
💻 JAVA
字号:
package java.awt;import java.awt.event.ActionEvent;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import kaffe.util.Ptr;/** * class CheckboxMenuItem - * * 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 CheckboxMenuItem  extends MenuItem  implements ItemSelectable{	boolean isChecked;	ItemListener iListener;	final private static long serialVersionUID = 6190621106981774043L;public CheckboxMenuItem () {	this( "", false);}public CheckboxMenuItem ( String label ) {	this( label, false);}public CheckboxMenuItem ( String label, boolean isChecked ) {	super( label);	this.isChecked = isChecked;}public void addItemListener( ItemListener newListener) {	iListener = AWTEventMulticaster.add( iListener, newListener);}public void addNotify() {	super.addNotify();	if ( isChecked )		setState( isChecked );}public Object[] getSelectedObjects () {	// ItemSelectable interface	if ( isChecked ) {		Object[] selItems = new Object[1];		selItems[0] = getLabel();		return selItems;	}	else		return null;}public boolean getState () {	return isChecked;}public void handleShortcut( MenuShortcut ms) {	if ( (eventMask & AWTEvent.DISABLED_MASK) != 0 )		return;	setState( !isChecked );	if ( (iListener != null) ||	     ( ((eventMask & AWTEvent.ITEM_EVENT_MASK) != 0) || ((flags & IS_OLD_EVENT) > 0) ) ) {		Toolkit.eventQueue.postEvent( ItemEvt.getEvent( this, ItemEvent.ITEM_STATE_CHANGED, getLabel(),		                                                isChecked ? ItemEvent.SELECTED : ItemEvent.DESELECTED ));	}}public String paramString() {	return super.paramString() + ", " + (isChecked ? "checked" : "unchecked");}void process ( ActionEvent ae ) {	setState( !isChecked );	ItemEvt ie = ItemEvt.getEvent( this, ItemEvt.ITEM_STATE_CHANGED, 					label, isChecked ? ItemEvt.SELECTED : ItemEvt.DESELECTED );	Toolkit.eventQueue.postEvent( ie);	super.process( ae);}void process ( ItemEvent ie ) {	if ( (iListener != null) ||	     ((eventMask & (AWTEvent.ITEM_EVENT_MASK|AWTEvent.DISABLED_MASK))		 == AWTEvent.ITEM_EVENT_MASK) ){		processEvent( ie);	}}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 ==  ItemEvent.ITEM_STATE_CHANGED ){		processItemEvent( (ItemEvent) e);	}	else {		super.processEvent( e);	}}protected void processItemEvent ( ItemEvent ie ) {	if ( iListener != null ){		iListener.itemStateChanged( ie);	}}public void removeItemListener ( ItemListener listener ) {	iListener = AWTEventMulticaster.remove( iListener, listener);}public synchronized void setState ( boolean isChecked ) {	this.isChecked = isChecked;	if ( (parent != null) && (parent instanceof Menu) ) {		Ptr p = ((Menu)parent).nativeData;		if ( p != null ) {			Toolkit.menuCheckItem( p, this, isChecked);		}	}}}

⌨️ 快捷键说明

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