2016-10-10 7 views
1

こんにちは、選択した値をリストからテーブルに移動するプログラムを作成しようとしています。リスト全体の値を1行に追加することはできますが、リストの値を文字列のセットに分割し、テーブルの異なる行に設定することができます。選択したjList値をjTable行(SWING)に分割して移動する

123 Test St LA 1823 Yes 
456 Test Dr NY 12345 No 

リストは、テキストフィールドから値を取得します(住所、州、郵便番号、販売のため)とスペースで区切られた文字列は1行だけにそれのすべてを設定します。

リストの値は、次のようになります。 。テーブルで

私は4行があります

|Address|State|Zip| For Sale| 
|------ +-----+---+---------| 
|  |  | |   | 

だから、これを行うために、私はスペースでリストから文字列値を分割する必要がありますが、アドレスのテキストフィールドにスペースが含まれているため(すなわち123テストSt)は、他のテキストフィールドと違って、リストから文字列を分割して、住所、州、郵便番号、売り値を設定できるようにする必要があります。私が使用することができ

private void addListActionPerformed(java.awt.event.ActionEvent evt) {           

    home.setAddress(address.getText()); 
    home.setState(state.getText()); 
    home.setZip(zip.getText()); 
    home.setSale(forSale.getText()); 

    String concat = home.getAddress() + " " + 
        home.getState() + " " + 
        home.getZip() + " " + 
        home.getSale(); 


    addVal(concat); 

     address.setText("");  
     state.setText(""); 
     zip.setText(""); 
     forSale.setText(""); 

}  

private void addVal(String str) { 
    jList1.setModel(dm); 
    dm.addElement(str); 
} 

    private void addToTableActionPerformed(java.awt.event.ActionEvent evt) {            
    String s = jList1.getSelectedValue(); 
    //Split and set values and add to table 
} 

は、ここに私のコードスニペットですString[] spaces = s.split(" ")が、それは同様に複数のスペースが含まれ、これを行う簡単な方法がありますので、私はアドレス値を処理する必要があるでしょうか?アドバイスをいただければ幸いです。ありがとう!

答えて

3
  • はない連結文字列
  • リストホームオブジェクトから派生連結された文字列を表示するカスタムリストセルレンダラを使用して、ホームオブジェクトを使用してするJListを記入してください。
  • 次に、JListの項目が選択されると、Stringではなく、完全なHomeオブジェクトが得られ、JTableの行を作成するのは簡単です。
+0

ありがとう! – adventuredoge

関連する問題