内の行を移動すると、どのようにしてROW1がROW2に行くようjTable
で行を移動の位置とROW2はROW1に行くの立場ができますか?JTableの
Q
JTableの
8
A
答えて
9
DefaultTableModel
のmoveRow(...)
メソッドを使用します。
DefaultTableModelを使用していない場合は、カスタムモデルにsimliarメソッドを実装します。
0
TableModel model = jTable.getModel();
for(int col=0; col<model.getColumnCount(); col++) {
Object o1 = model.getValueAt(row1, col);
Object o2 = model.getValueAt(row2, col);
model.setValueAt(o1, row2, col);
model.setValueAt(o2, row1, col);
}
2
ここで私のコードは私がこの質問の答えを使って開発したものです。 これらの機能を使用すると、一度に複数の行を選択し、JTable
で上下に移動できます。私はJButton
にそれらの機能を付けましたが、私はそれらを読みやすくするためにそれらをきれいにします。
両方のメソッド(setRowSelectionInterval()
)の最後のコード行は、移動する行の選択に従います。moveRow()
は選択内容を移動するのではなく行の内容を移動するためです。
public void moveUpwards()
{
moveRowBy(-1);
}
public void moveDownwards()
{
moveRowBy(1);
}
private void moveRowBy(int by)
{
DefaultTableModel model = (DefaultTableModel) table.getModel();
int[] rows = table.getSelectedRows();
int destination = rows[0] + by;
int rowCount = model.getRowCount();
if (destination < 0 || destination >= rowCount)
{
return;
}
model.moveRow(rows[0], rows[rows.length - 1], destination);
table.setRowSelectionInterval(rows[0] + by, rows[rows.length - 1] + by);
}
関連する問題
- 1. JTableの - JTableのを使用して行
- 2. JTableの
- 3. のjava - JTableの
- 4. アレイJTableの
- 5. jTableのタイムテーブル
- 6. JTabbedPane_TabPanelのJTable
- 7. JTableエラーの行
- 8. JTableのハイライト行
- 9. jTableのクリックイベント - Java
- 10. JTableのタイトルは
- 11. JTableのフッター行
- 12. マウスクリックJTableのイベント
- 13. はJTableの
- 14. JTableの "チェックボックスエディタ"
- 15. JTableのHashMap
- 16. JTableのライブソート
- 17. JTable内のJCheckbox
- 18. JTableルックアンドフィール
- 19. JTable ArrayIndexOutOfBoundsException
- 20. JTableセルレンダリング
- 21. JTable Question
- 22. JTableは
- 23. JTableセルフォント?
- 24. JTable RowFilter
- 25. JTableの型のエラー
- 26. JTableのセルのデータ
- 27. JTableの幅のレイアウト
- 28. JTableのdoesntのショー
- 29. JTableセル内のJComboBox
- 30. JTableのセル検証
ありがとうございました。コードスニペット、plzを提供できますか? – Attilah
リンクがあることに気付かなかった。それは役に立ちました。ありがとう。 – Attilah
このリンクは古いです –