移动一行如何在一个移动jTable
一排,这样ROW1去2行的位置和2行去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中
- 2. 在JTable中
- 3. 文本JTable中
- 4. Netbeans中的JTable
- 5. 让JTable中
- 6. JTable中出现
- 7. JTable中的JSlider
- 8. JTable中的MouseMotionListener
- 9. JTable中的JCheckbox
- 10. JTable中的JFileChooser
- 11. 反转JTable中
- 12. 刷新JTable中
- 13. Javax Swing JTable :: getModel vs JTable :: getColumnModel
- 14. 复选框,JTable中
- 15. JTable中删除行
- 16. JTable中的UTF-8
- 17. 在JTable中搜索
- 18. JTable中util.Date的DateEditor
- 19. JTable Cell中的JDatechooser
- 20. ListSelectionListener许多JTable中
- 21. JTable中的JCheckBox值
- 22. BeansBinding NetBeans中的JTable
- 23. 如何在JTable中
- 24. JTable中居中的JLabel
- 25. JTable中的TextArea在java中
- 26. 的Java JTable中SelectionListener中
- 27. JTable Autoscroll
- 28. JTable Rowborder?
- 29. JTable RowFilter
- 30. JTable ComboBox
谢谢。你能提供一个代码片段吗? – Attilah 2009-10-04 21:36:52
我没有注意到有链接。这很有帮助。谢谢。 – Attilah 2009-10-05 15:14:45
此链接已过期 – 2013-07-11 15:46:33