1

我有一个看起来像这样的 HashMap:

HashMap<CauseCategory, ArrayList<Cause>> data;

CauseCategory 和 Cause 只是其中包含一个字符串实例字段的类,由它们的构造函数或 setter 方法(如果需要)设置。现在,系统从数据库中获取一堆原因类别,每个原因类别都有许多与之相关的原因。

假设我们有一个原因类别“技术”,它会有多个与之相关的原因,例如“包装问题”、“处理错误”、“计算错误”等。

我将这个 HashMap 提供给我的 GUI 类,它有两个 JComboBoxes(原因类别 + 原因描述)。

如何绑定第一个组合框(类别),以便当我从该列表中选择一个项目时,它只在第二个组合框(原因描述)中显示与它相关的原因?

编辑:像这样考虑哈希图可能更简单:

HashMap<String, ArrayList<String>> data;
4

1 回答 1

3

将 ActionListener 添加到第一个组合框。每次选择更改时,都会触发一个 ActionEvent 并因此调用 ActionListener。从侦听器中,从组合框中获取新选择的类别,然后从 Map 中获取关联原因,并更改第二个组合框中显示的项目。

像往常一样:链接到挥杆教程

于 2012-12-16T18:13:22.683 回答