在java设置树节点和默认扩展节点的方法
这个java小程序专注于定制树的节点,如不显示根节点,定义节点的高度,设置字体,显示连接,节点是否使用默认图标,以及如何扩展节点。进口java AWT *;
导入java。利用*;
进口javax.摆动。*;
进口javax.摆动。树。*;
公共课tree_04扩展JFrame {
私人JTree树; / /定义私有变量。
/ main方法。
public static void main(String { } args){
tree_04框架=新(tree_04); / /类的实例化。
frame.setvisible(true); / /窗口显示。
}
构建方法。
公共tree_04(){
(超级);继承自父类。
settitle(自定义树); / /设置标题的窗口。
窗口(100100280350); / /初始位置设置窗口。
setdefaultcloseoperation(JFrame。exit_on_close); / /设置窗口关闭。
特定操作。
defaultmutabletreenode根; / /定义树的根节点。
根=新defaultmutabletreenode(人事管理系统); / /设置根节点。
defaultmutabletreenode notefa; / /定义第一个根节点。
notefa =新defaultmutabletreenode(人事管理);
NoteFA.add(New DefaultMutableTreeNode(账户管理));
NoteFA.add(New DefaultMutableTreeNode(考勤管理));
NoteFA.add(New DefaultMutableTreeNode(奖惩));
NoteFA.add(New DefaultMutableTreeNode(培训管理));
Root.add(notefa); / /添加notefa根的根节点。
defaultmutabletreenode notefb; / /定义第一个根节点。
notefb =新defaultmutabletreenode(治疗);
NoteFB.add(New DefaultMutableTreeNode(账户管理));
NoteFB.add(New DefaultMutableTreeNode(人员设置));
NoteFB.add(New DefaultMutableTreeNode(处理声明));
Root.add(notefb); / /添加notefa根的根节点。
defaultmutabletreenode notefc; / /定义第一个根节点。
notefc =新defaultmutabletreenode(系统维护);
NoteFC.add(New DefaultMutableTreeNode(企业架构));
NoteFC.add(New DefaultMutableTreeNode(基本信息));
NoteFC.add(New DefaultMutableTreeNode(系统初始化));
Root.add(notefc); / /添加notefa根的根节点。
根节点根目录树。
树=新的JTree(根);
tree.setrootvisible(假); / /设置不显示根节点。
Tree.setRowHeight(30); / /树线。
tree.setfont(新字体(宋体
tree.putclientproperty(JTree线型。
获取节点映射对象。
defaulttreecellrenderer treecellrenderer; / /定义渲染对象变量。
treecellrenderer =(defaulttreecellrenderer)tree.getcellrenderer(树); / /树映射对象。
TreeCellRenderer.setLeafIcon(空); / /套叶节点没有使用图标。
TreeCellRenderer.setClosedIcon(空); / /套。图标未折叠。
TreeCellRenderer.setOpenIcon(空); / /集扩张。不使用图标
据 / /先序遍历树的结点。
枚举枚举;定义节点枚举对象。
(计数=根。preorderenumeration); / /根据树的前序遍历。
而(enumeration.hasmoreelements()){
defaultmutabletreenode节点; / /定义节点变量。
节点=(defaultmutabletreenode)(枚举。nextelement); / /下一个节点被分配给节点。
如果(!Node.isLeaf()){
确定节点的路径。
树路径路径=新树路径(node.getpath()); / /定义路径变量。
Tree.expandPath(路径); / /路径。
}
}
窗口中的树。
GetContentPane(),添加(树、BorderLayout。中心);
}
}
运行结果: