gpt4 book ai didi

java - 根据 JComboBox 选择添加 JList 项目

转载 作者:行者123 更新时间:2023-12-02 04:54:53 27 4
gpt4 key购买 nike

当我单击 JComboBox 项目时,我希望它在两个不同的 Jlist 中显示句子:

crosswordCategories = new JComboBox();

crosswordCategories.addItem("Animals");
crosswordCategories.addItem("Roman Empire");
crosswordCategories.addItem("Geography");
Object comboSelected = crosswordCategories.getSelectedItem();


horizList = new JList();
horizList.setBounds(35, 430, 420, 170);
horizList.setBackground(Color.white);
horizList.setBorder(BorderFactory.createEtchedBorder(1));
add(horizList);


vertList = new JList();
vertList.setBounds(490, 430, 420, 170);
vertList.setBackground(Color.white);
vertList.setBorder(BorderFactory.createEtchedBorder(1));
add(vertList);

如果我单击“动物”类别,它应该显示在水平 JList 上“大动物,有大耳朵和长 Nose ”。以及垂直 JList 上的“人类最好的 friend ”,仅举一个例子。

我该怎么做? *顺便说一句,这是用于填字游戏的。

编辑:当应用程序启动时,JList 为空。

最佳答案

  • 您需要某种方法将 JComboBox 中的值与您想要显示的值关联起来,Map 可能会这样做,但我更喜欢使用个人 POJO。请参阅Collections Trail了解更多详情
  • 您需要知道JComboBox 选择何时发生变化。像 ActionListener 这样的东西可能就可以了。请参阅How to Use ActionsHow to Use Combo Boxes了解更多详情
  • 选择更改后,您需要从组合框中获取所选项目 (getSelectedItem),使用关联的 Map 查找值并可能使用JList#addItem 将值添加到 JList,假设您不想删除现有项目,否则,直接替换 会更快JList 的模型。请参阅How to Use Lists了解更多详情。

您可能还想查看How to Use Scroll Panes

您还应该避免使用 null 布局,像素完美布局是现代 UI 设计中的一种幻觉。影响组件个体尺寸的因素太多,您无法控制其中任何一个。 Swing 的设计初衷是与布局管理器一起工作,放弃它们将导致无穷无尽的问题,您将花费越来越多的时间来尝试纠正

关于java - 根据 JComboBox 选择添加 JList 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com