?? tree.java.svn-base
字號:
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;
/**
* 設(shè)計(jì)一個Tree 節(jié)點(diǎn) <br/>
* 注意這個Tree是設(shè)計(jì)占據(jù)一行的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;
/**
* 需要事件回調(diào)的時候用到。
*/
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 fontY = this.top + 2 ; //(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);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -