swing·通讯录项目预备知识之入手JTree
How to use JTree 中文翻译文档
翻译:java中怎样使用树结构(How to Use Trees)
http://lcllcl987.iteye.com/blog/53969
一.树JTree
1关于树JTree
关于树JTree,api中的定义为:将分层数据集显示为轮廓的控件。使用JTree可以展示有层次结构的数据,一个JTree实例并不包含你的数据,而只是简单的展示下数据,树通过查询数据模型得到相关的数据,一下为myeclipse中通过swing控件拖出来的树的模型图:
2.关于节点
树JTree垂直的展示它的数据,每一行展示一条树结构的数据,也就是一个“节点”。每一个树结构都有一个根节点(JTree),其他所有节点都由此派生而来,一个节点可拥有子节点,也可以没有子节点。分支节点为有子节点的节点(colors),叶子节点为没有子节点的节点(blue)。分支节点可以拥有任意多的子节点,且默认情况写除根节点之外的其他所有分支节点的初始状态都为折叠状态。通过监听树结构的扩展事件,程序可以发现分支节点的扩展状态是否别改变。
3.动态改变树
1.修改节点名。myeclipse中swing控件下想要使得树为可编辑状态,可以将树属性的editable属性勾选上,这样通过双击鼠标便可在运行出来的界面上更改相应的叶子节点的名称。
我在树控件上面加单添加了一个showTreeValueChanged事件,由上图可见,动态的更改叶子节点(其他节点都是可编辑的状态)的命名后再点击时相应的输出也发生了变化。这就简单的实现了通讯类项目中联系人组别的名称修改功能
1 private void showTreeValueChanged(javax.swing.event.TreeSelectionEvent evt) { 2 String selected = this.showTree.getLastSelectedPathComponent() 3 .toString(); 4 this.showATxt.setText(selected); 5 }
关于树的节点添加删除留到下讲补充。。。
由于想要在节点上得到鼠标右键点击弹出菜单的效果,引入弹出菜单(pop-up menu)
http://hi.baidu.com/cathy_hi/item/df3c9f13d9b63ce65e53b137
二.弹出菜单(pop-up menu)
api中的介绍:此类实现能够在组件中的指定位置上动态弹出的菜单。
弹出菜单(pop-up menu)是不固定在菜单中随处浮动的菜单。
1.弹出式菜单需要调用的show方法(API)
1 public void show(Component origin, int x, int y)
在相对于初始组件的 x、y 位置上显示弹出式菜单。
origin
- 定义坐标空间的组件 ,x
- 弹出菜单的 x 坐标位置,y
- 弹出菜单的 y 坐标位置
欢迎观光我师傅的网站 Java知识分享网 www.java1234.com