[英]How can I add multiple arrays to a JComboBox?
我正在為一些課程作業制作劇院座位預訂系統,但是在創建JComboBox來幫助用戶從總共197個座位中選擇座位時遇到了麻煩。
座位由“座位”對象表示,這些對象只是一些變量(例如“ isBooked”(布爾))的集合。 座位被布置成多個座位陣列,每個陣列代表一行座位,例如A [],B [] ...
預訂座位時,必須將座位排成一行,因為它們的價格不同。但是,JComboBox將用作選擇要取消預訂的座位的方式,因此只需要完整的座位列表即可。
我可以輕松地將單個數組添加到JComboBox並使其正常工作,但是嘗試將更多數組添加到JComboBox中的列表失敗。
如何將多個數組添加到JComboBox? 即A [1],A [2],A [3] ... A [14],B [1],B [2] ...
我對Java的經驗不是很豐富,如果這是一個愚蠢的問題,請對不起。 在過去幾天中進行了大量研究之后,我嘗試使用DefaultComboBoxModel類進行實驗,但顯然未正確使用它。 這是我最近解決我的問題的嘗試:
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);
所有幫助將不勝感激。
您的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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.