【发布时间】:2017-05-21 17:41:46
【问题描述】:
我有多个Jlist 组件。当第一个列表中的一个项目被选中时,下一个列表应该动态显示一组新的可能选择。
例如,第一个列表可能包含三个项目,它们是“A”、“B”、“C”。当我单击“A”时,下一个列表应显示 1、2、3、4、5 等。当我单击“B”时,下一个列表应显示 7、8、9 等。我需要这些列表才能工作这个逻辑。
目标是实现这样的 GUI:
【问题讨论】:
-
在选择时,更新依赖列表的
ListModel,如here forComboBoxModel所示。 -
除了它们上面的标签所暗示的列表选择行为之外,可以看出
JTree更好地显示项目。但是尝试将列表 B(Single Interval)的选择建议与您的原始描述相匹配,如果用户在第一个列表中选择 A,然后在第二个列表中选择 2、3、4,会发生什么情况?在该事件中,第三个列表中出现了什么?顺便说一句 - 我发现当问题更“真实”而不是“抽象”时,提供建议更容易。为了帮助解决这个问题,这 3 个列表中的项目是什么? -
i.hizliresim.com/MoRJ2Q.png 我尝试实现这样的事情。它不必有第三个列表,它可以是信息面板。
-
提示:添加@trashgod(或重要的
@)以通知某人有新评论。现在,查看最后一张图片(我现在已添加到问题中),似乎随时都会选择来自一个联赛的一支球队,信息面板显示该球队的详细信息。 (如果我错了,请纠正我。)我仍然建议使用JTree- 联赛将是顶级节点,而球队将是这些节点的叶子。选择任何团队都会导致团队的详细信息显示在“信息”面板中。我觉得这比拥有两个列表更适合用户。 -
@AndrewThompson,这个截图属于我们的低保真 UI。我考虑过使用 jtree,但我更喜欢使用 List。我决定这样做是为了外观和功能。我不想在项目的这个阶段更改我的草稿。
标签: java swing user-interface jlist