2016-03-25 21 views
0

JComboBoxオブジェクトを新しい値で再ロードするにはどうすればよいですか? 新しい値が表示されるのを表示するには、パネルにJComboBoxオブジェクトを再度追加する必要があります.P.S.スタックに新しい値を追加するメソッドを削除し、 "????"の後にターゲットに到達することを願っています。あなたはCOMポートが、私はコンボボックスにその新しい値を使用したい配列です見ることができるようにコメント、>新しい値でComboBoxをリセットする

<i> 
    public class Test { 
     static String [] ComPort={"No Ports Available"}; 
     static Stack ComPortList=new Stack(); 
     static JPanel Pan=new JPanel(); 
     static JComboBox Com=null; 
     static JFrame Fra=new JFrame(); 
     public Test() 
     { 
      Com=new JComboBox(ComPort); 
      Fra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      Fra.setSize(750, 750); 
      Pan.add(Com); 
      Pan.setPreferredSize(new Dimension(500,500)); 
      Fra.setVisible(true); 
      Fra.setResizable(false); 
      Fra.add(Pan); 
     } 
     public static void main(String args[]) 
     { 
      new Test(); 
      AvailablePort(); 
      for(int i=0;i<100;i++) 
       if(ComPortList.isEmpty()) 
        break; 
       else 
        ComPort[i]=(String) ComPortList.pop(); 
      Com=new JComboBox(ComPort); 
      //???? 
     } 
    </i> 

答えて

0

あなたがするComboBoxModelを取得し、すべての既存の項目を削除し、新しいものを追加するためにそれを使用することができ、またはそれは、新しいJComboBoxを作成して新しい項目をそのコンストラクタに渡すだけで簡単にできます。

+0

私はCom.setModel(新しいDefaultComboBoxModel(ComPort))を使用しようとしました。昨日 しても機能しませんでした。 私は今書いて再試行し、それは働いた、ありがとう:) –

0

JComboBoxを使用すると、すべての項目を消去して新しい項目を追加できます。

JComboBox<String> box = new JComboBox<String>(new String[]{"No Ports Available"}); 

box.removeAllItems(); // Clear all items. 

for(int i=0; i<10; i++) // Add your new items. 
    box.addItem("# "+i); 
+0

ありがとう、今私はそれを行う2つの方法があります。 –

関連する問題