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

📄 tree.java

📁 开发框架。 一.说明: 此框架的意图是解决手机软件开发中常遇到
💻 JAVA
字号:
package org.gggeye.easymf.ui;

import java.util.Vector;

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

import org.gggeye.easymf.util.Tools;

/**
 * 设计一个Tree 节点 <br/>
 * 注意这个Tree是设计占据一行的View控件
 * @author wuhua
 * <a href="http://wuhua.3geye.net">我的博客</a>
 *
 */
public class Tree extends View {
	
	Vector nodes;
	static Image close = Tools.readImage("/t1.png");
	static Image open = Tools.readImage("/t2.png");
	static Image selected ;
	//static Image icon
	public boolean isOpen;
	
	/**
	 * 需要事件回调的时候用到。
	 */
	TreeView treeView;
	
	
	
	public Tree(){
		
	}
	
	public Tree(String _name, TreeView _treeView){
		this.name = _name;
		this.width = Panel.viewWidth;
		this.height = open.getHeight() + 4;
		this.hasFocus = true;
		this.nodes = new Vector();
		this.treeView = _treeView;
		if(selected == null){
			createSelected();
		}
	}
	
	public void addNode(View _node){
		this.nodes.addElement(_node);
	}
	private void createSelected() {
		selected = Image.createImage(width, this.font.getHeight());
		Graphics g = selected.getGraphics();
		Pen point = new Pen(g);
		point.drawShadeRect(0xCCD, 0, 0, width - 4, height);

	}
	
	/**
	 * 事件传递到子对象
	 */
	void subDoClick(int _keyCode) {
		if (_keyCode == 8) {
			this.isOpen = !isOpen;
			this.treeView.resetTree();
		}
		 
	}
	
	public void doPaint(Pen _pen, HtmlDocument _document) {	
		_pen.save();
		int fontX = this.left + open.getWidth();
		int tH = open.getHeight() - font.getHeight();
		if(tH <0)
			tH = -tH;
		int fontY = this.top + ((tH)>>1) ; //(open.getHeight())<<1;
		
		if(this.index == _document.focusIndex){
			_pen.setColor(0xCED);
			_pen.drawImage(selected, left, top, 20);
			_pen.setColor(0xFFFFFF);
		}
	
		_pen.drawImage(isOpen?open:close, left, top, 20);
		_pen.drawString(name, fontX, fontY,20);
		_pen.reset();
	}
	
	public void delete(Node _node){
		nodes.removeElement(_node);
	}

}

⌨️ 快捷键说明

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