Java 如何将多个阵列添加到JComboBox?

Java 如何将多个阵列添加到JComboBox?,java,arrays,swing,jcombobox,Java,Arrays,Swing,Jcombobox,我正在为一些课程制作剧院座位预订系统,但在创建JComboBox以帮助用户从总共197个座位中选择座位时遇到了麻烦 席位由“席位”对象表示,这些对象只是一些变量的集合,例如“isBooked”(布尔值)。座椅排列成多个座椅阵列,每个阵列代表一排座椅,例如a[],B[] 预订座位时,有必要将座位按行分开,因为它们的价格不同,但JComboBox将用作选择要取消预订的座位的方式,因此只需要完整的座位列表 我可以很容易地将单个数组添加到JComboBox中并使其正常工作,但是尝试将更多数组添加到JCo

我正在为一些课程制作剧院座位预订系统,但在创建JComboBox以帮助用户从总共197个座位中选择座位时遇到了麻烦

席位由“席位”对象表示,这些对象只是一些变量的集合,例如“isBooked”(布尔值)。座椅排列成多个座椅阵列,每个阵列代表一排座椅,例如a[],B[]

预订座位时,有必要将座位按行分开,因为它们的价格不同,但JComboBox将用作选择要取消预订的座位的方式,因此只需要完整的座位列表

我可以很容易地将单个数组添加到JComboBox中并使其正常工作,但是尝试将更多数组添加到JComboBox中的列表失败

如何将多个阵列添加到JComboBox? i、 e.A[1]、A[2]、A[3]。。。A[14],B[1],B[2]

我对Java不是很有经验,如果这是一个愚蠢的问题,我很抱歉。 在过去几天的大量研究之后,我尝试了DefaultComboxModel类,但显然没有正确使用它。这是我最近解决问题的一次尝试:

DefaultComboBoxModel model = new DefaultComboBoxModel();
            model.addElement(A);
            model.addElement(B);
            model.addElement(C);
            model.addElement(D);
            model.addElement(E);
            model.addElement(F);
            model.addElement(G);
            model.addElement(H);
            model.addElement(J);
            model.addElement(K);
            model.addElement(L);
            JComboBox seatCombobox = new JComboBox();
            seatCombobox.setModel(model);
            unbookSeatWindow.buttonsPanel.add(seatCombobox);

感谢所有帮助。

您的DefaultComboxModel代码是正确答案。您只需从尽可能多的数组中添加元素


我建议您使用两个JComboBox组件。一个用于分区,另一个用于座位号。否则,用户在阅读数百个座位的列表时会感到沮丧。

您的DefaultComboBoxModel代码就是正确答案。您只需从尽可能多的数组中添加元素


我建议您使用两个JComboBox组件。一个用于分区,另一个用于座位号。否则,您的用户在阅读数百个座位的列表时会感到沮丧。

您可以使用
ArrayList
按以下方式填充模型:

    DefaultComboBoxModel model ;
    JComboBox seatCombobox = new JComboBox();
    public void fillModel()
    {
      ArrayList<String> elements = new ArrayList<String>();
      elements.addAll(java.util.Arrays.asList(A));
      elements.addAll(java.util.Arrays.asList(B));
      elements.addAll(java.util.Arrays.asList(C));
      elements.addAll(java.util.Arrays.asList(D));
      elements.addAll(java.util.Arrays.asList(E));
      elements.addAll(java.util.Arrays.asList(F));
      elements.addAll(java.util.Arrays.asList(G));
      elements.addAll(java.util.Arrays.asList(H));
      elements.addAll(java.util.Arrays.asList(I));
      elements.addAll(java.util.Arrays.asList(J));
      elements.addAll(java.util.Arrays.asList(K));
      elements.addAll(java.util.Arrays.asList(L));
      model = new DefaultComboBoxModel(elements.toArray()) ;
      seatCombobox.setModel(model);
    }
DefaultComboBoxModel模型;
JComboBox seatCombobox=新JComboBox();
公共模型()
{
ArrayList元素=新的ArrayList();
elements.addAll(java.util.Arrays.asList(A));
elements.addAll(java.util.Arrays.asList(B));
elements.addAll(java.util.Arrays.asList(C));
elements.addAll(java.util.Arrays.asList(D));
elements.addAll(java.util.Arrays.asList(E));
elements.addAll(java.util.Arrays.asList(F));
elements.addAll(java.util.Arrays.asList(G));
elements.addAll(java.util.Arrays.asList(H));
elements.addAll(java.util.Arrays.asList(I));
elements.addAll(java.util.Arrays.asList(J));
elements.addAll(java.util.Arrays.asList(K));
elements.addAll(java.util.Arrays.asList(L));
model=新的DefaultComboxModel(elements.toArray());
seatCombobox.setModel(model);
}

您可以使用
ArrayList
按以下方式填充模型:

    DefaultComboBoxModel model ;
    JComboBox seatCombobox = new JComboBox();
    public void fillModel()
    {
      ArrayList<String> elements = new ArrayList<String>();
      elements.addAll(java.util.Arrays.asList(A));
      elements.addAll(java.util.Arrays.asList(B));
      elements.addAll(java.util.Arrays.asList(C));
      elements.addAll(java.util.Arrays.asList(D));
      elements.addAll(java.util.Arrays.asList(E));
      elements.addAll(java.util.Arrays.asList(F));
      elements.addAll(java.util.Arrays.asList(G));
      elements.addAll(java.util.Arrays.asList(H));
      elements.addAll(java.util.Arrays.asList(I));
      elements.addAll(java.util.Arrays.asList(J));
      elements.addAll(java.util.Arrays.asList(K));
      elements.addAll(java.util.Arrays.asList(L));
      model = new DefaultComboBoxModel(elements.toArray()) ;
      seatCombobox.setModel(model);
    }
DefaultComboBoxModel模型;
JComboBox seatCombobox=新JComboBox();
公共模型()
{
ArrayList元素=新的ArrayList();
elements.addAll(java.util.Arrays.asList(A));
elements.addAll(java.util.Arrays.asList(B));
elements.addAll(java.util.Arrays.asList(C));
elements.addAll(java.util.Arrays.asList(D));
elements.addAll(java.util.Arrays.asList(E));
elements.addAll(java.util.Arrays.asList(F));
elements.addAll(java.util.Arrays.asList(G));
elements.addAll(java.util.Arrays.asList(H));
elements.addAll(java.util.Arrays.asList(I));
elements.addAll(java.util.Arrays.asList(J));
elements.addAll(java.util.Arrays.asList(K));
elements.addAll(java.util.Arrays.asList(L));
model=新的DefaultComboxModel(elements.toArray());
seatCombobox.setModel(model);
}

如果有人正在“取消预订”座位,我会尽量只向他们提供他们已预订的座位,而不是提供该地点每个座位的列表,其中大多数座位都不相关。@rcook:我错过了问题中的那一行。是的,取消预订时,只显示预订的座位。那么我输入的代码正确吗?那为什么不行呢?当我使用这段代码时,所显示的只是一个随机的数字序列来代替JComboBox中的每个数组。我也喜欢两个组合框的想法,我会先熟悉我以前的设置,然后再研究一下,谢谢。@Mike:假设A、B、C等都是元素,是的。您可能希望将addElement方法调用放入for循环中,每个数组一个for循环。@Mike:Seat[]是一个Seat实例数组。确保座椅具有toString方法。toString方法的输出显示在组合框中。每个座位实例都是一个元素。如果有人正在“取消预订”一个座位,我会尽量只向他们提供他们已预订的座位,而不是该位置的每个座位的列表,其中大多数都不相关。@rcook:我错过了问题中的那一行。是的,取消预订时,只显示预订的座位。那么我输入的代码正确吗?那为什么不行呢?当我使用这段代码时,所显示的只是一个随机的数字序列来代替JComboBox中的每个数组。我也喜欢两个组合框的想法,我会先熟悉我以前的设置,然后再研究一下,谢谢。@Mike:假设A、B、C等都是元素,是的。您可能希望将addElement方法调用放入for循环中,每个数组一个for循环。@Mike:Seat[]是一个Seat实例数组。确保座椅具有toString方法。toString方法的输出显示在组合框中。每个座位实例都是一个元素。我认为向量已经过时,不应该再使用了。我认为向量已经过时,不应该再使用了。