关于Java中的树模型,我有一些问题。
在过去13周的课堂上,我们一直在培养一个联系经理。此联系人经理有多种组件:联系人可以是业务联系人,也可以是个人联系人,每个联系人都有自己的事件集。他们也有地址,社交网络和电话号码。
上一次分配时,我们必须从外部txt文件读取信息并在我们的项目中实现它。进展得很好。现在,他想让我们用上述文本中的信息构建一个treeModel,但是我很难理解这个树模型是如何工作的。
例如,根、父、子、节点都是我想要定义的单词,但都非常困难。在这种情况下,我的根会是我的联系人经理,我的父母和孩子是否会像地址之类的?如果有人能帮我理解的话,那会很有帮助的。
如果这份作业能帮助你更好地理解我的问题,这里有一个摘录:
我不是让你们中的任何人帮我解决这个问题。我只是很想了解它。非常感谢!
发布于 2013-11-27 21:22:22
更复杂的Swing组件(如JTree、JTable、JList或JComboBox )使用模型的概念。它的意思是:由组件显示的下位数据。它们以这种方式被设计成将数据本身与它们的“可视”表示(即.a)分开。视图)并允许开发人员“或多或少忘记”数据表示。因此,正如在教程中解释的那样,如果您需要添加要显示在这些组件中的一个新的数据对象,您只需将其添加到模型中,视图就会自动更新。
说了这些话之后,您将看到这些组件有一个以模型作为参数的构造函数:
这些模型由接口定义,这些接口建立了任何具体实现都必须满足的基本契约。
特别是在JTree的例子中,我们有一个TreeModel接口和一个默认的实现:DefaultTreeModel。另外,任何TreeModel都必须与节点对象一起工作,而节点对象必须实现TreeNode接口。
因此,要使用JTree,您需要一个TreeModel和一组通过父子关系与TreeNodes相关的TreeNodes。例如,类似这样的事情:
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Contacts"); // root node
DefaultMutableTreeNode contact1 = new DefaultMutableTreeNode("Contact # 1"); // level 1 node
DefaultMutableTreeNode nickName1 = new DefaultMutableTreeNode("drocktapiff"); // level 2 (leaf) node
contact1.add(nickName1);
DefaultMutableTreeNode contact2 = new DefaultMutableTreeNode("Contact # 2");
DefaultMutableTreeNode nickName2 = new DefaultMutableTreeNode("dic19");
contact2.add(nickName2);
root.add(contact1);
root.add(contact2);
DefaultTreeModel model = new DefaultTreeModel(root);
JTree tree = new JTree(model);图片

https://stackoverflow.com/questions/20250752
复制相似问题