在Java JTree上显示数据库中的数据
我有一个数据库,其中有两列名为 collende,collaf 当我从数据库中读取数据并将其显示在JTree上时在Java JTree上显示数据库中的数据,java,swing,jtree,Java,Swing,Jtree,我有一个数据库,其中有两列名为 collende,collaf 当我从数据库中读取数据并将其显示在JTree上时 while (resultSet.next()) { DefaultMutableTreeNode url = new DefaultMutableTreeNode(resultSet.getString("colNode")); mutableTreeNode.add(url); url.add(new Def
while (resultSet.next()) {
DefaultMutableTreeNode url = new DefaultMutableTreeNode(resultSet.getString("colNode"));
mutableTreeNode.add(url);
url.add(new DefaultMutableTreeNode(resultSet.getString("colLeaf")));
}
我希望如果JTree colNode上已经存在该值,那么collaf将被追加到
请帮帮我
电流输出:
期望输出:
我想你的意思是,你想用相同的
colNode将所有collaf
分组
首先,我要做两件事中的一件,使用SQL对结果进行分组和/或按colNode
对结果进行排序,这样您就可以监视当前的“组”,当它发生变化时,创建一个新的TreeNode
类似于
DefaultMutableTreeNode rootNode = ...;
DefaultMutableTreeNode groupNode = null;
String currentGroup = null;
while (resultSet.next()) {
String group = resultSet.getString("colNode");
if (currentGroup == null || !currentGroup.equals(group)) {
currentGroup = group;
group = new DefaultMutableTreeNode(group);
rootNode.add(groupNode);
}
group.add(new DefaultMutableTreeNode(resultSet.getString("colLeaf")));
}
比如说
或者,使用某种映射
,映射同一键(collaf
)下的所有colNode
值
Map-mapGroups=newhashmap(25);
while(resultSet.next()){
字符串组=resultSet.getString(“colNode”);
List members=mapGroups.get(组);
如果(成员==null){
成员=新阵列列表(25);
mapGroups.put(组,成员);
}
add(resultSet.getString(“colLeaf”);
}
然后使用mapGroups
根据键/值组生成TreeNode
s
比如说
就我个人而言,我认为第一个选项更有效,但可能需要更复杂的查询,第二个选项更慢,需要更多的开销,但数据建模的方式与您试图实现的方式类似,是否要使用相同的colNode
对所有collaf
进行分组
首先,我要做两件事中的一件,使用SQL对结果进行分组和/或按colNode
对结果进行排序,这样您就可以监视当前的“组”,当它发生变化时,创建一个新的TreeNode
类似于
DefaultMutableTreeNode rootNode = ...;
DefaultMutableTreeNode groupNode = null;
String currentGroup = null;
while (resultSet.next()) {
String group = resultSet.getString("colNode");
if (currentGroup == null || !currentGroup.equals(group)) {
currentGroup = group;
group = new DefaultMutableTreeNode(group);
rootNode.add(groupNode);
}
group.add(new DefaultMutableTreeNode(resultSet.getString("colLeaf")));
}
比如说
或者,使用某种映射
,映射同一键(collaf
)下的所有colNode
值
Map-mapGroups=newhashmap(25);
while(resultSet.next()){
字符串组=resultSet.getString(“colNode”);
List members=mapGroups.get(组);
如果(成员==null){
成员=新阵列列表(25);
mapGroups.put(组,成员);
}
add(resultSet.getString(“colLeaf”);
}
然后使用mapGroups
根据键/值组生成TreeNode
s
比如说
就我个人而言,我认为第一个选项更有效,但可能需要更复杂的查询,第二个选项更慢,需要更多的开销,但数据建模的方式与您试图实现的方式类似是的,我希望如果JTree colNode上已经存在该值,那么collaf将附加到。请帮助我是的,我希望如果JTree colNode上已经存在该值,那么collaf将附加到。请帮帮我