2012-02-07 8 views
0

以下のコードを手伝ってください。クラスSearchPortのメソッドからarraylist要素(検索されたポート)を返そうとしています。これは対応するクラスCommunicationで使用され、returnArray()というメソッドが呼び出され、Jcomboxオプションに使用される文字列が抽出されます。しかし、私はそれをどうやってやるの?助けてください。Java ComboBoxアライリストとのアソシエイティブ

public class SearchPort { 

    CommPortIdentifier portIdentifier; 

    ArrayList <String> portFound ; 

    public void listPorts() { 
     portFound = new ArrayList(); 
     //Enumeration holds all port objects 
     Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers(); 
     while (portEnum.hasMoreElements()) //while Enumeration contains more port objects 
     { 
      portIdentifier = portEnum.nextElement(); //switches through each port 
      portFound.add(portIdentifier.getName());   
     } 
    } 

    public String returnArray(){ 

      listPorts(); 
      for(int i = 0; i < portFound.size(); i++){ 
       System.out.println(portFound.get(i)); 

      } 
      return portFound; 
     }  

    public static void main(String[] args){ 
     SearchPort run = new SearchPort(); 
     run.listPorts(); 
    } 

} 

public class Communication { 

JLabel jLabel1; 
JPanel jPanel1; 
    JComboBox Connections; 

    public Communication() { 
     JFrame commFrame = new JFrame("gec"); 
     commFrame.pack(); 
     commFrame.setVisible(true); 
     commFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    commFrame.setSize(300,300); 

    jLabel1 = new JLabel(); 
    jPanel1 = new JPanel(); 

    jLabel1.setText("GEC"); 
     Font font = new Font("Calibri", Font.BOLD, 14); 
     SearchPort port = new SearchPort(); 
     String [] portStrings = { port.returnArray()}; //add found ports into array 
     Connections = new JComboBox(portStrings); 
     Connections.addItemListener(null); 
    jLabel1.setFont(font); 
    jPanel1.add(jLabel1, BorderLayout.EAST); 
     jPanel1.add(Connections, BorderLayout.CENTER);   
     /*Add Contents to the Frame*/ 
     commFrame.add(jPanel1); 
    } 

    public static void main(String args[]) {  
     Communication GUI = new Communication();    
    } 

}//end class 

答えて

1

1)あなたは実装により、JComboboxにアイテムを追加する方法を3つの選択肢があり

既に可視スイングGUIへ

2)すべての更新は、上で行う必要がありEvent Dispatch Thread

メインメソッドがEvent Dispatch Thread

4)方法

commFrame.pack(); 
commFrame.setVisible(true); 

からなりスイングGUI 3)初期化がなければなりませんCommunication class

+0

public JComboBox(Object [] items)の最後のコード行は、どのように達成するのですか?私は単純にコンボボックスのオプションをSearchPortクラス – user1106130

+0

の中の私のarraylist要素にしたいと思っています1) 'while(portEnum.hasMoreElements())'、2) 'for(int i = 0; i mKorbel

+0

私はまだ2つの異なるクラスにあるので、私はまだわかりません。ありがとうございました – user1106130

関連する問題