2012-05-04 5 views
0

그래서 컴퓨터의 프로세스 목록과 관련된 값으로 채워진 JTable이있는 응용 프로그램이 있습니다 (프로세스 이름, PID, 메모리 오프셋 등) . 이 과정에서 사용자가 특정 프로세스에 대한 행을 클릭 할 때 프로세스 이름과 PID를 수집하려고합니다. 그러나 어떻게해야합니까? "table.getSelectedRows()"또는 "table.getSelectedColumns()"를 선택한 행을 호출하면 클릭 한 필드의 열 또는 행 인덱스를 나타내는 요소 하나가 표시됩니다. 어떤 도움을 주셔서 감사합니다.선택한 JTable 행의 모든 ​​열 값 가져 오기

+0

'getValueAt (row, col)'를 사용하면 (자) 선택된 행이 지정됩니다. 당신이 이걸로 알아낼 수 없다면, 부탁합니다.하지만 할 수있을 거라 확신합니다. –

답변

2

'row'가 선택된 행 인덱스이고 'column'이 열의 0을 기준으로 한 상태에서 각 열에 대해 한 번씩 table.getValueAt (row, column)을 호출하여 행의 각 셀에 대한 데이터를 가져올 수 있습니다. 색인.

그러나 사용자가 열 순서를 바꿀 수 있고이 메서드가 표시 순서로 열을 참조하기 때문에 다소 문제가있을 수 있습니다.

이 작업을 수행하는 더 좋은 방법은 열을 다시 할 때 변경되지 않는 모델 순서로 열을 (얻기 위해 TableModel에의 해 getValueAt() 메소드를 사용하여 다음 table.getModel()를 통해 JTable의의의 TableModel를 참조하고,하는 것입니다 보기에서 정렬 됨).

관련 문제