2012-04-16 60 views
0

我想問一個關於組合框的問題,正如我在標題中提到的那樣。我想製作2個組合框,其中一個包含出發城市,另一個包含到達城市。關於組合框的jFrame

例如:

我們有紐約,巴黎和迪拜的目的地。所以當我在出發時選擇紐約時,我不想在其他組合框中看到紐約(作爲抵達)。我怎樣才能做到這些?

JComboBox Departure = new JComboBox(); 
Departure.setBounds(31, 58, 28, 20); 
contentPane.add(Departure); 

JComboBox Arrival = new JComboBox(); 
Arrival.setBounds(114, 58, 28, 20); 
contentPane.add(Arrival);` 
+1

當你從一個JComboBox的選擇紐約,那麼你可以從其他的JComboBox刪除它。 – 2012-04-16 08:58:48

+0

1)請學習常見的[Java命名約定](http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#73307)(具體用於名稱的情況)類,方法和屬性名稱並一致使用它。 2)***使用佈局***(或者期待我簡要回答下面4個關於「爲什麼我的GUI是SNAFU?」的問題)。 – 2012-04-16 10:11:56

+0

什麼是JFrame標籤在這裏和標題? – Robin 2012-04-16 10:25:50

回答

0

您可以使用此

for(int i = 0; i < Departure.getItemCount(); i++){ 
     if(Departure.getItemAt(i).equals(Departure.getSelectedItem())){ 
     Arrival.removeItemAt(i): 

    } 
} 
+0

它的工作原理,但它爲第一價值。它不是動態的。我把它放在鼠標監聽器中,但它沒有正確地執行它 – 2012-04-16 18:28:08

+0

我想你使用departure.addActionListener()並將此代碼放在actionPerformed()中。 – 2012-04-17 04:57:13