2012-08-06 43 views
0

我需要一些幫助,這裏的GUI與Jav​​a OOP,我使用Eclipse。綁定組合框和JLabel數組,圖片一起

我正在用Combobox,JLabel和圖片創建一個「select airlines」GUI。

第一選擇,F16(組合框)加$ 600(JLabel的)F16.jpg(組合框之外)。

但是在面板內部,而選擇的第二選擇F22(組合框)中的JLabel應該自動改變加$ 900(JLabel的),以及圖片F12.jpg

任何人可以幫我組合框,選擇JLabel編碼,圖片

非常感謝!

+0

歡迎的StackOverflow!如果您在問題中添加了一些代碼,人們可以更輕鬆地爲您提供幫助。不要發佈你的所有代碼,只是一個[SSCCE](http://www.mindprod.com/jgloss/sscce.html)。 – 2012-08-06 15:48:37

回答

5

基本上你想在你的JComboBox使用ItemListener

 JComboBox box = new JComboBox(); 
     // Adds a listener - this performs an action when the item changes. 
     box.addItemListener(new ItemListener(){ 
      @Override 
      public void itemStateChanged(ItemEvent e) { 
       //Checks if this event was caused because an item was selected 
       if((e.getStateChange() & ItemEvent.SELECTED) == ItemEvent.SELECTED){ 
        System.out.println(e.getItem()); 
        // This is where you'd modify your label based on the dropdown's value - something like this: 
        label.setText("$900"); 
       } 
      }}); 
     panel.add(box); 
+0

謝謝,但我需要調整更多的代碼,因爲基本上,當我選擇回f16(組合框)的第一選擇,增值仍保持爲900美元,是否有修改代碼,以改回原始值$ 600? – user1579414 2012-08-07 10:23:38

+0

好吧,我已經找出了代碼,現在我可以洗牌jlabel和組合框,但現在剩下的是圖片在一起。任何幫助?謝謝! – user1579414 2012-08-07 13:28:17

+0

如果你有3個項目被鏈接在一起,我建議從他們那裏製作一個班級(看這裏的一些說明):http://docs.oracle.com/javase/tutorial/java/concepts/class.html 。更好的是,您可以覆蓋該類中的'toString()'函數,然後將其用作JComboBox中的對象。當項目改變時,你可以直接從'e.getItem()'函數獲得更新信息。 – 2012-08-07 15:42:07