JavaのJTableで選択された領域を取得する方法は何ですか。
JTableコンポーネントをJavaで使用する場合、選択された領域を取得する方法は以下の通りです:1. getSelectedRows()メソッドを使用して選択された行のインデックス配列を取得し、その後、行のインデックスを使用して対応するデータを取得できます。
int[] selectedRows = table.getSelectedRows();
for (int i = 0; i < selectedRows.length; i++) {
int rowIndex = selectedRows[i];
// 根据行索引获取对应的数据
Object[] rowData = new Object[table.getColumnCount()];
for (int j = 0; j < table.getColumnCount(); j++) {
rowData[j] = table.getValueAt(rowIndex, j);
}
// 处理选中的数据
// …
}
2. getSelectedColumns()メソッドを使用して、選択した列のインデックス配列を取得し、その後、列のインデックスに基づいてデータを取得できます。
int[] selectedColumns = table.getSelectedColumns();
for (int i = 0; i < selectedColumns.length; i++) {
int columnIndex = selectedColumns[i];
// 根据列索引获取对应的数据
Object[] columnData = new Object[table.getRowCount()];
for (int j = 0; j < table.getRowCount(); j++) {
columnData[j] = table.getValueAt(j, columnIndex);
}
// 处理选中的数据
// …
}
3. getSelectedCells()メソッドを使用して選択されたセルの配列を取得し、その後、行と列のインデックスに基づいて対応するデータを取得できます。
int[] selectedRows = table.getSelectedRows();
int[] selectedColumns = table.getSelectedColumns();
for (int i = 0; i < selectedRows.length; i++) {
for (int j = 0; j < selectedColumns.length; j++) {
int rowIndex = selectedRows[i];
int columnIndex = selectedColumns[j];
// 根据行列索引获取对应的数据
Object cellData = table.getValueAt(rowIndex, columnIndex);
// 处理选中的数据
// …
}
}
具体の状況に応じて、上記の3つの方法のうち適切なものを選択し、必要な行、列、またはセルのデータを取得することができます。