我正在尝试使用基于玩家枚举的枚举来填充组合框。
例如,在初始化游戏时,玩家选择一个派系(FactionType)。FactionType 枚举用于每个单元(ShipType)的枚举值。ShipType(FactionType) 枚举,以便每艘船都可以切换为适当的对象并实例化。我遇到的问题是如何仅使用玩家选择的那个派系的单位来填充组合框。下面的示例代码:
public enum FactionType {
faction1, faction2, faction3
}
public enum ShipType {
Ship1(faction1), Ship2(faction2), Ship3(faction3)
private FactionType faction;
private ShipType(FactionType faction)
this.faction = faction;
}
public FactionType getFaction() {
return this.faction
}
那么是否可以在过滤掉任何不属于玩家派系的单位类型后创建一个 ComboBoxModel ?通常我只会做一个条件语句来检查 player.faction = faction 但不完全确定如何创建 ComboBoxModel 所以任何帮助表示赞赏。