JTableから別のJTableへの行の追加

マーク

私はプロジェクトの最後の部分に取り組んでいます。これは私が抱えている最後の問題の1つです。この部分は、予約を編集するためのものです。つまり、特定の予約のために予約された部屋を変更するためのものです。私は2つのJTableを持っています。1つは利用可能な部屋があり、もう1つはその予約のためにすでに予約されている部屋があります。どちらにも、個別のDefaultTableモデルと2Dオブジェクト配列があります。2つのテーブルの間に追加ボタンと削除ボタンがあり、選択した行を入れ替えます。

問題は、最初の追加/削除では正常に機能することですが、2D配列を更新していないと思います。別の行を追加する2回目の試行でも、モデルは元の2D配列を参照しています。これは、2D配列から行を削除しないため、間違った行データが表示されるためです。

選択した行を除外する一時的な2Dオブジェクト配列を作成するよりも、JTable / modelメソッドを使用してこの問題に対処する簡単な方法はありますか?

ActionPerformedコードを示す以下のサンプルコード。

if(e.getSource().equals(addRow)){ 
        System.out.println(tableLeft.getSelectedRow());
        if(tableLeft.getSelectedRow() == -1){  //if no row selected

        }
        else{
            model.insertRow(tableRight.getRowCount(),array2dLeft[tableLeft.getSelectedRow()]);
            modelLeft.removeRow(tableLeft.getSelectedRow());
            modelLeft.fireTableRowsDeleted(tableLeft.getSelectedRow(),tableLeft.getSelectedRow());
            txtTotalCost.setText("€" + getTotalCost());
        }   
    }
    if(e.getSource().equals(removeRow)){
        if(tableRight.getSelectedRow() == -1){  //if no row selected                
        }
        else{
            modelLeft.insertRow(tableLeft.getRowCount(),array2dLeft[tableRight.getSelectedRow()]);
            model.removeRow(tableRight.getSelectedRow());
            txtTotalCost.setText("€" + getTotalCost());
        }   
    }
}
camickr

しかし、私は2D配列を更新していないと思います。

2Dアレイにアクセスしてはいけません。配列は、最初にデータをテーブルモデルにロードするためにのみ使用する必要があります。次に、配列変数をnullに設定して、再度使用したくないようにすることができます。

その後、すべての更新は、のaddRow()およびremoveRow()メソッドを使用して、TableModelで直接実行する必要がありますDefaultTableModel

またgetValueAt(...)、TableModelメソッドを使用してモデルからデータを取得し、行データのベクトル(または配列)を作成して、データでaddRow()メソッドを使用できるようにする必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JTableへの行の追加

分類Dev

JTableモデルへのJPanel行の追加

分類Dev

行JTableの削除

分類Dev

JTableへの行の追加を「アニメート」する方法

分類Dev

あるjtableから別のjtableに列をコピーします

分類Dev

JTableセルからJLabelへのBLOB値の表示

分類Dev

XML から jTable への Java インポート

分類Dev

別のクラスから更新されたJTable

分類Dev

JTableはMysqlからの1行のみを表示します

分類Dev

ArrayList <T>からのJTableの構築

分類Dev

実行時のJTableの更新

分類Dev

JTableから編集中の行を削除します

分類Dev

Jtable から特定の値を持つ行を削除する方法は?

分類Dev

jTable。テキストファイルからの行sorting()

分類Dev

Hibernateを使用してjTableからMSSQLサーバーDBにすべての行を追加する

分類Dev

JTableのフッター行

分類Dev

dbからdatagridviewへの行の追加

分類Dev

JTableからJLayeredPaneへのドラッグアンドドロップ

分類Dev

Swing JTableの更新

分類Dev

JTableのRowFilter

分類Dev

DjangoのjTable

分類Dev

Jtable列のArrayList

分類Dev

JTableのSetCaretPosition

分類Dev

JTableの最初の行からフォーカスを削除します

分類Dev

リストへの要素の追加と別の要素からの削除

分類Dev

TableCellからの値に基づくJTable行ハイライター

分類Dev

単一の削除ボタンで異なるJTableから行を削除する方法

分類Dev

jtableはデータベースから1行のみを返します

分類Dev

データベースへのAbstractTableModelマッピングで行をJTableに追加できません

Related 関連記事

ホットタグ

アーカイブ