jtree和mysql的应用_swing jTree 绑定数据库 | 学步园

数据库的结构较简单,所以树的结构也很简单,除去根结点外,总共只有两层。

说明:本方法对于较简单的树结构有效,

数据表结构:

d54f51da4669f0cdce5148d6e4a8a763.png

想让第一列作为父节点,第二列作为对应的子节点。在MyEclipse中实现。

1、在类中设置一个DefaultMutableTreeNode属性,作为根节点:

DefaultMutableTreeNode top = new DefaultMutableTreeNode("文件列表");

2、jTree实例:

private void initComponents()

{

jTree1 = new javax.swing.JTree(top);

}

3、填充jTree节点的方法:

public void showTree()

{

conn myconn = new conn();

ResultSet nodeRs;

ResultSet leafRs;

try

{

nodeRs = myconn

.queryDB("select distinct cType from tempDocFiles where position='"

+ this.position + "'"); // 获取所有父节点,即第一列中的唯一值

leafRs = myconn

.queryDB("select cType,fileName from tempDocFiles where position='"

+ this.position + "'");//获取所有子节点,即第二列中所有值

while (nodeRs.next()) // 遍历父节点

{

DefaultMutableTreeNode node = new DefaultMutableTreeNode(

nodeRs.getObject(1)); // 创建个节点

top.add(node);//将当前节点添加到根节点下面

while (leafRs.next())//遍历所有子节点,

{

if (leafRs.getObject(1).toString()// 如果当前记录的第1列值 等于当前父节点

.equals(nodeRs.getObject(1)))

{

DefaultMutableTreeNode leafnode = new DefaultMutableTreeNode(

leafRs.getObject(2));

node.add(leafnode); //则将当前节点添加到当前父节点下,作为其叶子节点

}

}

leafRs.first(); //将游标移到最开始,以便下一轮遍历

}

jTree1.updateUI(); //刷新jTree结构

} catch (SQLException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

4、在需要的地方调用上述方法即可。比如在构造方法中执行:

public mainFrame2()

{

initComponents();

setMinimumSize(new java.awt.Dimension(800, 600));

setMaximumSize(new java.awt.Dimension(800, 600));

setLocationRelativeTo(null);

setResizable(false);

showTree();

jTree1.setRowHeight(25);

}

结果:

48a3c42ce5b3450f367418a77a57d9ec.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值