亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? menu.java.svn-base

?? 開發(fā)框架。 一.說(shuō)明: 此框架的意圖是解決手機(jī)軟件開發(fā)中常遇到
?? SVN-BASE
字號(hào):
package org.gggeye.easymf.ui;
import java.util.Vector;

import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

/**
 * 菜單的設(shè)計(jì)方案 菜單的數(shù)據(jù)結(jié)構(gòu) 首先菜單的數(shù)據(jù)結(jié)構(gòu)是樹形結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方式采用的是1-N的設(shè)計(jì)方式,并不是采用鏈表的方式進(jìn)行設(shè)計(jì)。 功能有
 * 1.支持3級(jí)菜單 2.支持菜單隱藏 3.支持
 */
public class Menu {
	int left;
	int top;
	int right;
	int buttom;

	int width;
	int height = 4;

	Vector menuItems;
	int backColor = 0xCC9966;
	int fontColor = 0xFFFFFF;

	Font font = Panel.defaultFont;

	MenuItem leftMenu;
	MenuItem rightMenu;
	Panel panel;
	EventListener eventListenter;

	// MenuItem rightMenu;

	boolean isOpen = false;
	/**
	 * 處理菜單選中狀態(tài)的情況
	 */
	int selectedId;

	/**
	 * 處理選中情況下的選擇條,用靜態(tài)保存, 因?yàn)橐獫u變,怕影響性能。
	 */
	static Image selected = null;

	public Menu(Panel _panel) {
		this(3, _panel);
	}

	public Menu(int _menuSize, Panel _panel) {
		this.panel = _panel;		 
		menuItems = new Vector(_menuSize);
	}

	public final void addMenuItem(Image _icon, String _name, int _flag,
			MenuItem _parent) {
		if (_name == null)
			throw new NullPointerException("Menu name is not Null");
		MenuItem menuItem = new MenuItem(_icon, _name, _flag);
		if (_parent != null) {
			menuItem.parent = _parent;
			_parent.children.addElement(menuItem);
		}
		menuItem.index = this.menuItems.size();
		menuItems.addElement(menuItem);
		int w = font.stringWidth(_name) + 40;
		if (w > this.width)
			width = w;
		if (_parent == null) {
			if (height < Panel.viewHeight) {
				this.height += font.getHeight();
			}
		}
		menuItem.left = 2;
		menuItem.top = height - font.getHeight() - 2;

	}

	public final void doClick(int _keyCode) {
	 
		if (this.menuItems.size()> 0 && _keyCode == -6) {
			isOpen = !isOpen;
			panel.repaint();
			return;
		}else if(_keyCode == -7){
			rightMenuAction(this.rightMenu);
		}else if(_keyCode == -6){
			rightMenuAction(this.leftMenu);
		}
		if (!isOpen) {
			return;
		}
		switch (_keyCode) {
		case 1:
			move((byte) -1);
			break;
		case 6:
			move((byte) 1);
			break;
		 
		case 8:
			menuAction();
			break;
		case -7:
			
			break;
		default:
			break;
		}

		this.panel.repaint();
	}

	private void rightMenuAction(MenuItem _itemMenu) {
		if (this.eventListenter != null) {
			this.eventListenter.menuDoClick(_itemMenu, this.panel);
		}
	}

	private void move(byte b) {
		// 菜單向上移動(dòng)
		if (b == -1) {
			selectedId = this.selectedId > 0 ? --this.selectedId
					: this.menuItems.size() - 1;
		} else {
			selectedId = this.selectedId < this.menuItems.size() - 1 ? ++this.selectedId
					: 0;
		}
	}

	private void menuAction() {
		// isOpen = !isOpen;
		MenuItem menuItem = (MenuItem) this.menuItems
				.elementAt(this.selectedId);
		if (this.eventListenter != null) {
			this.eventListenter.menuDoClick(menuItem, this.panel);
		}
		
	}

	final void doPaint(Graphics _g) {
		Pen tPen = new Pen(_g);
		tPen.setOffset(0, Panel.viewHeight
				+  Panel.labelHeight - this.height);

		// _point.setColor(this.fontColor);
		doPaintMenuImpl(tPen);
		tPen.save();
		tPen.setColor(0xFFFFFF);
		if (rightMenu != null) {
			tPen.graphics.drawString(rightMenu.name, rightMenu.left ,
					rightMenu.top, 20);
		}

		if (this.leftMenu != null && this.menuItems != null
				&& this.menuItems.size() == 0) {
			tPen.graphics.drawString(leftMenu.name, leftMenu.left ,
					leftMenu.top, 20);
		}
		tPen.reset();
	}
	

	/**
	 * 繪制菜單
	 * 
	 * @param player
	 */
	  void doDrawMenu(Pen p) {
		p.save();
		p.setColor(0xCEF);
		int y = Panel.height - Panel.labelHeight;
		p.graphics.fillRect(0, y, Panel.width,
				Panel.labelHeight);
		y += (Panel.labelHeight - Panel.defaultFont.getHeight()) >> 1;
		String title = "菜單";
		// if(this.htmlDocument != null && htmlDocument.title == null){
		// title = htmlDocument.title;
		// }
		p.setColor(0xFFFFFF);
		p.graphics.drawString(Runtime.getRuntime().freeMemory() / 1024 + "",
				50, y, 20);
		//if(this.panel.menu != null && this.panel.menu.menuItems.size() >1){
			p.graphics.drawString(title, 0, y, 20);
		//}
		
		p.reset();

	}

	private void createSelected() {
		selected = Image.createImage(width - 4, this.font.getHeight());
		Graphics g = selected.getGraphics();
		Pen point = new Pen(g);
		point.drawShadeRect(0xCCD, 0, 0, width - 4, height);

	}

	/**
	 * 本來(lái)想靜態(tài)計(jì)算菜單的高寬。還是算了吧。動(dòng)態(tài)的吧。
	 * 
	 * @param _point
	 */
	private void doPaintMenuImpl(Pen _point) {
		if (this.menuItems.size() == 0 || !this.isOpen) {
			return;
		}
		if (selected == null || selected.getWidth()!=this.width) {
			this.createSelected();
		}

		_point.save();
		_point.setFont(font);
		// point.dr
		_point.setColor(0x0);
		_point.drawRect(left, top, width, height);
		_point.setColor(this.backColor);
		_point.fillRect(left + 1, top + 1, width - 2, height - 2);
		_point.setColor(0xFFFFFF);
		// 畫條白線
		_point.drawRect(left + 1, top + 1, width - 2, height - 2);
		_point.reset();

		_point.save();
		_point.setColor(this.fontColor);
		for (int j = 0; j < this.menuItems.size(); j++) {

			MenuItem menuItem = (MenuItem) this.menuItems.elementAt(j);
			if (this.selectedId == menuItem.index) {
				_point
						.drawImage(selected, menuItem.left, menuItem.top,
								20);
			}
			_point.drawString(menuItem.name, menuItem.left + 2, menuItem.top,
					20);
		}
		_point.reset();

	}

	public final void setRightMenu(String _name, int _flag) {
		rightMenu = new MenuItem(null, _name, _flag);
		rightMenu.left = Panel.width - font.stringWidth(_name);
		rightMenu.top = Panel.height - Panel.labelHeight;
	}

	public final void setLeftMenu(String _name, int _flag) {
		leftMenu = new MenuItem(null, _name, _flag);
		leftMenu.left = 2;
		leftMenu.top = Panel.height - Panel.labelHeight;
	}
	
	public final void setEventListener(EventListener _eventListener){
		this.eventListenter = _eventListener;
	}

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久| 美女视频黄 久久| 亚洲一级二级三级在线免费观看| 中文字幕日韩一区| 精品一区二区三区在线播放视频| 日本aⅴ亚洲精品中文乱码| 亚洲成人动漫av| 激情久久五月天| 国产69精品久久99不卡| 欧美一区二区三区在线电影| 欧美精品vⅰdeose4hd| 日韩欧美国产一区二区在线播放| 精品日本一线二线三线不卡| 中文字幕视频一区| 欧美aaaaa成人免费观看视频| 国产91富婆露脸刺激对白| 欧美理论片在线| 日韩美女视频一区二区| 精品在线观看免费| 欧美人狂配大交3d怪物一区| 日韩一区二区三区电影在线观看| 一区二区久久久久| 美女一区二区三区| 欧美日韩一区二区三区高清 | 欧美亚州韩日在线看免费版国语版| 日韩欧美国产综合在线一区二区三区| 中文字幕乱码久久午夜不卡 | 日韩免费看网站| 美女视频黄a大片欧美| 久久久久久久久久久久电影| 国产精品一卡二| 日韩午夜三级在线| 日本不卡123| 欧美日韩高清影院| 蜜桃久久久久久久| 日本一区二区视频在线观看| 福利一区二区在线观看| 国产精品毛片高清在线完整版| 国产毛片精品国产一区二区三区| 在线综合+亚洲+欧美中文字幕| 亚洲成人777| 久久亚洲综合色一区二区三区| 国产麻豆视频一区| 久久精品一二三| 国产一区三区三区| 国产精品女同一区二区三区| 91片黄在线观看| 五月天中文字幕一区二区| 精品美女在线观看| 成人精品鲁一区一区二区| 亚洲精品v日韩精品| 欧美成人一区二区| 91老司机福利 在线| 免费高清视频精品| 国产精品视频一区二区三区不卡| 欧美日本国产视频| 成人免费的视频| 日韩av一区二区三区四区| 欧美日韩精品专区| 国产精品一区二区在线播放 | 日韩中文字幕1| 国产亚洲一区二区三区在线观看| 欧美午夜片在线观看| 国产精品性做久久久久久| 亚洲在线免费播放| 亚洲三级久久久| 国产丝袜美腿一区二区三区| 欧美丰满少妇xxxxx高潮对白| 一区二区三区在线免费播放| 欧美一区二区三区视频在线观看| 国产在线不卡一区| 日韩精品一二三四| 亚洲午夜精品在线| 亚洲国产一区二区a毛片| 国产精品乱码一区二区三区软件| 5月丁香婷婷综合| 欧美剧情片在线观看| 在线不卡中文字幕| 日韩一区二区免费在线电影| 欧美欧美午夜aⅴ在线观看| 欧美中文字幕久久| 欧美精品久久天天躁| 日韩午夜小视频| 日韩欧美亚洲国产另类| 欧美日韩第一区日日骚| 777亚洲妇女| www欧美成人18+| 国产精品网站在线播放| 欧美日韩不卡在线| 日韩一级高清毛片| 久久精品人人做人人爽97| 亚洲欧洲99久久| 日本不卡免费在线视频| 国产麻豆91精品| 成人久久视频在线观看| 在线观看精品一区| 久久综合久久久久88| 亚洲卡通动漫在线| 久久99精品久久久久久国产越南 | 久久久久久电影| 亚洲1区2区3区4区| 懂色av一区二区三区蜜臀| 欧美性xxxxxxxx| 国产精品网曝门| 日本成人在线电影网| 日本高清不卡视频| 欧美电视剧免费全集观看| 日本一区免费视频| 狠狠色丁香久久婷婷综| 久久亚洲一级片| 日本不卡在线视频| 在线观看91视频| 亚洲精品精品亚洲| av在线免费不卡| 国产精品久久久久婷婷二区次| 视频一区二区中文字幕| 一本大道久久a久久综合| 国产精品私人影院| 成人黄色777网| 久久久亚洲精华液精华液精华液| 国产成人综合在线播放| 久久久亚洲午夜电影| 精品一区二区免费| 久久综合999| www.色精品| 亚洲一区二区三区三| 欧美在线不卡一区| 免费看欧美美女黄的网站| 精品久久久网站| 韩日精品视频一区| 国产欧美日韩精品一区| 国产精品一区二区不卡| 日韩码欧中文字| 国内精品在线播放| 亚洲高清三级视频| 欧美人与禽zozo性伦| 欧美日本一区二区| 中文字幕中文乱码欧美一区二区 | 一区二区三区免费| 欧美日韩卡一卡二| 成人黄色软件下载| 蜜桃一区二区三区四区| 日本欧美在线观看| 亚洲一二三四区不卡| 一区二区三区在线免费视频| 欧美一区二区三区视频| 老司机精品视频在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 麻豆成人综合网| 久久久噜噜噜久久中文字幕色伊伊 | 国产成人超碰人人澡人人澡| 国产欧美精品一区二区色综合朱莉| 日本午夜一本久久久综合| 久久影视一区二区| 91黄色免费版| 99re6这里只有精品视频在线观看| 日本一不卡视频| 五月天婷婷综合| 亚洲成a人片在线观看中文| 国产精品进线69影院| 久久综合av免费| 自拍偷在线精品自拍偷无码专区| 精品国产91九色蝌蚪| 欧美大片拔萝卜| 日韩精品中午字幕| 日韩视频免费观看高清完整版 | 亚洲丶国产丶欧美一区二区三区| 久久久一区二区三区捆绑**| 日韩视频一区二区在线观看| 26uuu欧美| 欧美成人伊人久久综合网| 精品国产露脸精彩对白| 成人黄色电影在线| 99re免费视频精品全部| 色哟哟一区二区在线观看| 色94色欧美sute亚洲线路一ni| 日韩一区二区视频| 国产精品日产欧美久久久久| 亚洲三级免费电影| 欧美一区二区美女| 国产又粗又猛又爽又黄91精品| 国产传媒一区在线| 欧美一区二区三区四区高清| 中文字幕精品在线不卡| 亚洲一区二区在线观看视频| 国产福利精品导航| 欧美一区二区在线免费观看| 欧美一级国产精品| 亚洲福利视频一区二区| 国产精品亚洲午夜一区二区三区 | 国产精品国产三级国产| 亚洲影院久久精品| 麻豆免费精品视频| 在线观看www91| 日韩久久久久久| 亚洲女女做受ⅹxx高潮| 亚洲va韩国va欧美va精品| 丁香六月久久综合狠狠色| 欧美精品日韩精品| 中文字幕一区二区三中文字幕|