我有一个Java项目,我有一个框架,分为2个面板。左侧面板由JTabbedPane
和JTree
的右侧面板组成。这是两个不同的类。现在,如果我双击Jtree
中的项目,我希望选项卡式窗格切换到我按下的节点的选项卡并填写数据。
例如,当我按下学生时,我想跳到学生标签,并填写我可以从树中取出的详细信息,名称等。
我知道你可以使用树的选择监听器并使用setindexat作为选项卡,但我最大的问题是我不知道这些类如何与彼此通信。
有人有想法吗?
2 个答案:
答案 0 :(得分:1)
您应该为侦听器编写接口,并使选项卡式窗格实现该侦听器。监听器基本上会监听树生成的事件。因此,只要对特定项目进行双击,您的树也会触发事件。
在侦听器的实现中,查找与该事件关联的项目的子项,并进行处理,即填充选项卡。
答案 1 :(得分:1)
在TreeSelectionListener
,图示here,调用setSelectedIndex()
或setSelectedComponent()
,讨论here,选择与所选内容对应的标签。 Map<TreeNode, Integer>
或Map<TreeNode, Component>
可以简化识别正确的标签。