我有一个分层结构像这样创建的JTree节点:动态地从一个SQL查询
Lot
|_Stages
|_Samples
例子:
Lot1
|_Stage1
|_Sample11
|_Sample12
|_Stage2
|_Sample21
|_Sample22
的想法是,用户将提供一个LotID并在此基础上我的SQL查询检索所有阶段以及每个阶段中的所有样本。
我将结果集中的每条记录保存为自定义对象并将其添加到数组列表中。结果的
例设定输出:
LotID || LotCondition || StageID || StageCondition || SampleID || SampleCondition
-------- || -------------- || ------------ || -------------------- || ------------ || ----------------
5001 ||处置|| 4001 ||完成|| 3001 ||已批准
5001 ||处置|| 4001 ||完成|| 3002 ||已批准
5001 ||处置|| 4002 ||完成|| 3003 ||已批准
5001 ||处置|| 4002 ||完成|| 3004 ||已批准
5002 || ReadyToRelease || 4003 ||完成|| 3005 ||已批准
5003 ||处置|| 4004 ||完成|| 3006 ||已批准
5004 ||处置|| 4004 ||完成|| 3007 ||已批准
从此数组列表中,我使用DefaultMutableTreeNode将对象添加到树(即新的DefaultMutableTreeNode(custom_object.getLotID)..等)。
现在有2个问题:
只有一个唯一LotID = 5001,但它显示4倍(从上面的例子),因为有4个样品,因此4个记录。
我的目标是首先检索SampleID并将其添加到其各自的StageID,最后将所有StageID添加到LotID(根节点)。我不知道如何以分级方式显示。
任何人都可以请指点我在正确的方向或一些想法?
使用某种类型的工厂,给定行的数据,可以生成重需要的节点。您可能想要传递对正在使用的树模型的引用。我建议使用“MutableTreeModel”和“MutableTreeNode”。看看[如何使用树](http://docs.oracle.com/javase/tutorial/uiswing/components/tree.html)获取更多想法 – MadProgrammer 2013-02-26 23:54:16
感谢MadProgrammer – user547453 2013-03-01 20:14:25