JTable 转置粘贴
时间: 2024-01-01 17:36:10 浏览: 57
您可以使用以下代码将 JTable 进行转置粘贴:
```java
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class JTableTransposePaste {
public static void main(String[] args) {
// 创建一个示例 JTable
JTable table = new JTable(3, 3);
table.setValueAt("A", 0, 0);
table.setValueAt("B", 0, 1);
table.setValueAt("C", 0, 2);
table.setValueAt("D", 1, 0);
table.setValueAt("E", 1, 1);
table.setValueAt("F", 1, 2);
table.setValueAt("G", 2, 0);
table.setValueAt("H", 2, 1);
table.setValueAt("I", 2, 2);
// 将 JTable 转置并粘贴
DefaultTableModel model = (DefaultTableModel) table.getModel();
int rowCount = model.getRowCount();
int columnCount = model.getColumnCount();
Object[][] newData = new Object[columnCount][rowCount];
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < columnCount; j++) {
newData[j][i] = model.getValueAt(i, j);
}
}
model.setDataVector(newData, null);
// 打印转置后的 JTable 数据
for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < columnCount; j++) {
System.out.print(table.getValueAt(i, j) + "\t");
}
System.out.println();
}
}
}
```
上述代码将创建一个 3x3 的示例 JTable,并将其转置后粘贴到原始表格中。您可以根据实际需求修改行数和列数,然后调用 `setValueAt` 方法来设置表格的值。转置的结果将使用 `model.setDataVector` 方法设置为表格的数据模型。最后,通过遍历表格的行和列来打印转置后的数据。
请注意,这只是一个示例代码,您可以根据自己的需求进行适当的修改。
阅读全文