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

📄 binarypageitem.java

📁 J2ME 3D 第一人称射击迷宫类手机游戏源码。
💻 JAVA
字号:
package myGame.gui.menu;

import javax.microedition.lcdui.Image;

/**
 * An abstract item that can be set to true or false. An image is used to
 * represent each state. The method <code>getBoolean</code> must be
 * implemented to get the state of the item. The method <code>setBoolean</code>
 * is called with the new state when user selects this item.
 * 
 * @author YuBingxing
 */
public abstract class BinaryPageItem extends PageItem implements ItemAction {
	/** Image for true flag */
	protected Image m_imgTrue;

	/** Image for false flag */
	protected Image m_imgFalse;

	/** Action that will be called after this action has been executed */
	protected ItemAction m_dispatchAction;

	/**
	 * Constructor for <code>BinaryPageItem</code>.
	 * 
	 * @param label
	 *            The label of the item or null.
	 * @param imageTrue
	 *            Image for true value or null.
	 * @param imageFalse
	 *            Image for false value or null.
	 * @param subPage
	 *            The page that will be navigated to when activating this item,
	 *            or null of no such page.
	 */
	public BinaryPageItem(char[] label, Image imageTrue, Image imageFalse,
			MenuPage subPage) {
		super(label, null, null, subPage);
		m_imgTrue = imageTrue;
		m_imgFalse = imageFalse;
		setAction(this);
		setLayout(LAYOUT_ALIGN_RIGHT);
	}

	/**
	 * Constructor for <code>BinaryPageItem</code>.
	 * 
	 * @param label
	 *            The label of the item or null.
	 * @param imageTrue
	 *            Image for true value or null.
	 * @param imageFalse
	 *            Image for false value or null.
	 * @param subPage
	 *            The page that will be navigated to when activating this item,
	 *            or null of no such page.
	 * @param dispatchAction
	 *            The action that is called when activating this item, or null
	 *            if no action.
	 * @param id
	 *            The id of this item.
	 */
	public BinaryPageItem(char[] label, Image imageTrue, Image imageFalse,
			MenuPage subPage, ItemAction dispatchAction, int id) {
		super(label, null, null, subPage, id);
		m_imgTrue = imageTrue;
		m_imgFalse = imageFalse;
		m_dispatchAction = dispatchAction;
		setAction(this);
		setLayout(LAYOUT_ALIGN_RIGHT);
	}

	/**
	 * Initializes this item with correct image.
	 */
	public void addedToPage() {
		setImage(getBoolean() ? m_imgTrue : m_imgFalse);
	}

	/**
	 * Toggles the boolean value by calling <code>getBoolean</code> and
	 * <code>setBoolean</code>. If a dispatch action is given in constructor,
	 * this is called after switching flags.
	 * 
	 * @param page
	 *            The page this action is called from.
	 * @param item
	 *            The item this action is called from.
	 */
	public void itemAction(MenuPage page, PageItem item) {
		boolean b = !getBoolean();
		setBoolean(b);
		setImage(b ? m_imgTrue : m_imgFalse);
		if (m_dispatchAction != null) {
			m_dispatchAction.itemAction(page, item);
		}
	}

	/**
	 * Implement this to return the state of the flag.
	 * 
	 * @return The state of the flag.
	 */
	public abstract boolean getBoolean();

	/**
	 * Implement this to set the state of the flag.
	 * 
	 * @param value
	 *            The new boolean value of the flag.
	 */
	public abstract void setBoolean(boolean value);

}

⌨️ 快捷键说明

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