能让你在弯路上一直走下去死不悔改的,应该就是所谓的不撞南墙不回头,不见黄河心不死的倔犟了吧。。。人可以低头认输,但是一定要让自己心服口服的低头,一定是力所不能及时心甘情愿无话可说的认输。
在myeclipse下通过Matisse4Meyclipse插件拖出来的JTree,默认带有一些分支节点和叶子节点,而这些我们不是我们想要 的东西,通过编写删除节点的代码也只可以运行时调用删除功能,这里有一个简便的办法就是更改自动生成的代码,使之变成想要的自定义的JTree
1.介绍JTree的一个构造方法---JTree(Tree root, boolean asksAllowsChildren)
来自API:返回JTree,指定的TreeNode作为其根,它用指定的方式显示根节点,并确定节点是否为叶节点。
参数:root --- 一个TreeNode对象 asksAllowsChildren ---
如果为 false,则不带子节点的任何节点都是叶节点;如果为 true,则只有不允许带子节点的节点是叶节点
2.更改Matisse4Meyclipse插件自动生成的代码,更改部分为initComponents()中的
jtree_group = new javax.swing.JTree();
为
jtree_group = new javax.swing.JTree(rootNode, false);
3.从数据库构建初始化JTree
DbUtil.java
package com.java1234.util; import java.sql.Connection; import java.sql.DriverManager; public class DbUtil { //想要连接的数据库的地址 private String dbUrl = "jdbc:mysql://localhost:3306/ar_list"; //用户名 private String userName = "root"; //密码 private String password = "123456"; //数据库驱动包名 private String jdbcName = "com.mysql.jdbc.Driver"; //获取连接 public Connection getCon() throws Exception{ Class.forName(jdbcName);//注册驱动程序,推荐这种方式,不会对具体的驱动类产生依赖 Connection conn = DriverManager.getConnection(dbUrl, userName, password);//建立驱动程序与数据库的连接 return conn; } //关闭与数据库的连接 public void conClose(Connection conn) throws Exception{ if(conn != null){ conn.close(); } } public static void main(String args[]) throws Exception{ DbUtil dbUtil = new DbUtil(); Connection conn = dbUtil.getCon(); System.out.println("成功建立驱动程序与数据库的连接"); dbUtil.conClose(conn); System.out.println("成功关闭驱动程序与数据库的连接"); } }
NodeDao.java
package com.java1234.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class NodeDao { public ResultSet initData(Connection conn) throws Exception{ String sql = "select * from list_group"; PreparedStatement pst = conn.prepareStatement(sql); ResultSet rs = pst.executeQuery(); return rs; } }
在界面类中增加个初始化JTree的自定义方法initTree(),并在构造函数中添加调用语句
代码
public testJTreeFrm() { initComponents(); this.initTree(); } private void initTree() { Connection conn = null; try { conn = dbUtil.getCon(); ResultSet rs = nodeDao.initData(conn); while (rs.next()) { DefaultMutableTreeNode newChild = new DefaultMutableTreeNode(rs .getString("groupName")); DefaultTreeModel model = (DefaultTreeModel) jtree_group .getModel(); rootNode.add(newChild); model.nodeStructureChanged(rootNode); } } catch (Exception e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, "初始化失败"); e.printStackTrace(); return; } finally { try { dbUtil.conClose(conn); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
我的cnblogs博客:http://www.cnblogs.com/java1234-com/
欢迎光临我师傅小锋哥的网站 Java知识分享网 www.java1234.com
有大量Java资料供学习参考用,一切免费
相关推荐
JTree 树形菜单插件包下载,在网页上快速实现树控菜单的一个小插件,功能相对完善,本次更新功能:加入treeNodes(数组形式),通过treeNodes可以对指定的子树进行收缩和展开功能,查找指定节点的功能。加入这个功能...
JTree用法及JTree使用经验总结(吐血推荐) 1、初始化 2、三个经常使用的取值函数 3、根据node得到path:4、根据Path展开到该节点 5、根据path设定该节点选定 6、选中节点的方法 7、滚动到可见位置 8、给JTree添加右键...
JTree的使用 JTree的使用 JTree的使用
java JTree+JTable使用样例,实现将JTree的节点内容显示到JTable中,eclipse导入maven项目 maven编译: mvn clean package
用XML来配置的多级目录树菜单插件JTree
JAVA中的Swing. jtree和QQ项目\带有右键的树(数据库), 带有数据库表的sql文件
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
jtree中加checkbox,实用哦。
JTree的例子,可以拖动节点 JTree的例子,可以拖动节点
JTree的用法
一个很不错的TREE 并有些实例,里面有JTree,还有一些JTree_Simple
JAVA JTREE实例代码、JAVA JTABLE实例代码
java组件之jtree使用 10-1:使用JTree组件: 10-2:以Hashtable构造JTree: 10-3:以TreeNode构造JTree: . . . . 10-8:JTree的其他操作:
HTML转成Jtree
在java中,树对象提供了用树型结构分层显示数据的视图。可以扩展和收缩视图中的单个子树。树由Swing中的JTree类实现,JTree是Jcomponent的子类。文档就介绍了JTree的使用
jtree节点可编辑
JTree的Doc文档:jenkov-prizetags-doc-3.4.0.zip,在使用JTree.jar的同时,可以提供参考,便于大家查阅,欢迎下载
java中的关于jtree编程的详细介绍,通过jtree的使用,掌握模型设计的核心技术,同时丰富了java界面的美观度和实用度。
java使用jtree动态实现二叉树,包含二叉树的插入删除很查找
jtree , 经典教程,jtree 例子 ,很适合初学者,和急需使用的读者,一看就会