我做一个jtree来管理一个POS软件的类别,界面简单,就是两列,左边是jtree,右边分别有新的大类(枝节点) 新的小类(叶节点) 删除类别(删除选种的) 修改类别(修改选中的)修改类别我是这样做的
jTree1.startEditingAtPath(jTree1.getSelectionPath());
可以让选种的节点处于被编辑状态目前我是做了下面一个方法,将数据库中的大类小类都读到树中显示,请问
1如何实现在选中位置之下新加节点?我试了一些insert方法不行啊,还有删除选种的节点。
2如何将修改后的数在点确定的时候写入数据库中呢?
3是不是我这种办法有些麻烦呢?高手推荐如何实现用树来管理类别好吗?我是不想用文本框这些。
下面这个方法是在窗口显示的构造方法中调用的
public void addjtreecontent()
{
//将数据库中的类别信息读到jtree中
try {
ResultSet rs2=null;
s=frameindex.con.createStatement(1005, 1007);
Statement s2=frameindex.con.createStatement(1005, 1007);
String sql = "select * from maxtype";
String sql2;
rs = s.executeQuery(sql);
root=new DefaultMutableTreeNode("资产类别管理");
DefaultMutableTreeNode parent=null;
DefaultMutableTreeNode leaf;
while(rs.next())
{
parent=new DefaultMutableTreeNode(rs.getString(1));
sql="select * from smalltype where maxtypename='"+rs.getString(1)+"'";
rs2=s2.executeQuery(sql);
while(rs2.next())
{
leaf = new DefaultMutableTreeNode(rs2.getString(1));
parent.add(leaf);
}
root.add(parent); }
jTree1 = new JTree(root);
jTree1.setEditable(true);
rs.close();
s.close();
rs2.close();
s2.close();
}
catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
jTree1.startEditingAtPath(jTree1.getSelectionPath());
可以让选种的节点处于被编辑状态目前我是做了下面一个方法,将数据库中的大类小类都读到树中显示,请问
1如何实现在选中位置之下新加节点?我试了一些insert方法不行啊,还有删除选种的节点。
2如何将修改后的数在点确定的时候写入数据库中呢?
3是不是我这种办法有些麻烦呢?高手推荐如何实现用树来管理类别好吗?我是不想用文本框这些。
下面这个方法是在窗口显示的构造方法中调用的
public void addjtreecontent()
{
//将数据库中的类别信息读到jtree中
try {
ResultSet rs2=null;
s=frameindex.con.createStatement(1005, 1007);
Statement s2=frameindex.con.createStatement(1005, 1007);
String sql = "select * from maxtype";
String sql2;
rs = s.executeQuery(sql);
root=new DefaultMutableTreeNode("资产类别管理");
DefaultMutableTreeNode parent=null;
DefaultMutableTreeNode leaf;
while(rs.next())
{
parent=new DefaultMutableTreeNode(rs.getString(1));
sql="select * from smalltype where maxtypename='"+rs.getString(1)+"'";
rs2=s2.executeQuery(sql);
while(rs2.next())
{
leaf = new DefaultMutableTreeNode(rs2.getString(1));
parent.add(leaf);
}
root.add(parent); }
jTree1 = new JTree(root);
jTree1.setEditable(true);
rs.close();
s.close();
rs2.close();
s2.close();
}
catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
(DefaultMutableTreeNode)tree.getLastSelectedPathComponent() ;//得到选种节点node.add(new DefaultMutableTreeNode("LeafNode"));//添加节点DefaultTreeModel treeModel=(DefaultTreeModel )tree.getModel();
treeModel.removeNodeFromParent(node); // 删除选中节点 好久没碰了 好象是这样 楼主你自己测试一下看看如何