查看完整版本: [已解決]關於JComboBox問題
頁: [1]

a1212xzxz 發表於 2009-12-5 11:29 AM

[已解決]關於JComboBox問題

本帖最後由 a1212xzxz 於 2009-12-7 12:42 PM 編輯

關於JComboBox,有幾個問題
final  是什麼呢?
要如何把我的JComboBox 給文字欄呢
選擇任意"版本1", "版本2", "版本3",把文字欄呢
例如選擇版本1,文字欄就會顯示版本1
這有辦法嗎?final  JComboBox  c;  
JButton b ;
JTextField JTextField5;
String[] description = { "版本1", "版本2", "版本3");

  JComboBox c = new JComboBox();
  JButton b = new JButton("Add items");
JTextField JTextField5 = new JTextField();
    t.setEditable(false);   //關掉文字欄
      
  final JComboBox JComboBox1 = new JComboBox(JComboBoxtext);
  // t.setText("index: " + "   "
    //        + ((JComboBox) e.getSource()).getSelectedItem());

    cp.add(c);
cp.add(b);

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

gogopkman 發表於 2009-12-6 02:24 AM

本帖最後由 gogopkman 於 2009-12-6 02:27 AM 編輯

1. 物件加上保留字 final 代表該物件不能被覆寫改動
如final  JComboBox  c = new JComboBox();
c =  new JComboBox();
這樣就會出錯

同理 變數也是一樣final int number = 1;
number = 0;
一樣會出錯

2.要如何把我的JComboBox 給文字欄呢
選擇任意"版本1", "版本2", "版本3",把文字欄呢
例如選擇版本1,文字欄就會顯示版本1
c.addItemListener(new ItemListener() {
   public void itemStateChanged(ItemEvent e) {
      ComboBox versionCB = (JComboBox) e.getSource();
      t.setText(versionCB.getSelectedItem().toString());
    }
});或
c.addItemListener(new ItemListener() {
   public void itemStateChanged(ItemEvent e) {
      t.setText(e.getItem().toString());
    }
});至於哪哪個寫法比較好或正確  我不太確定  但前輩是跟我說前者寫法比較保險點...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

a1212xzxz 發表於 2009-12-7 12:40 PM

回復 2# gogopkman


    感恩!!謝謝唷我成功了,我用了強制轉型成字串的
JTextField5.setText( (String) ((JComboBox) e.getSource()).getSelectedItem());
頁: [1]