나는 JTable
이 있습니다. 사용자가 누를 때 어떤 행과 열이 선택되었는지 알고 싶습니다. 을 입력하십시오. 이 정보를 어떻게 얻을 수 있습니까?Enter를 누를 때 JTable의 어떤 부분이 선택되었는지 어떻게 알 수 있습니까?
0
A
답변
-1
테이블에 추가하십시오. rowClicked
및 colClicked
에 두 개의 int
개의 전역이 있어야합니다. 당신이 이벤트를 등록하는 키보드를 사용하여 말하는 경우
table.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e)
{
rowClicked = rowAtPoint(e.getPoint());
colClicked = columnAtPoint(e.getPoint());
}
public void mouseClicked(MouseEvent e)
{
rowClicked = rowAtPoint(e.getPoint());
colClicked = columnAtPoint(e.getPoint());
}
});
을 갈 수있을 경우, 당신은 다음에 KeyListener
를 추가하고, 선택한 셀을 찾아야합니다. 다음 코드를 사용하여 선택한 셀을 찾을 수 있습니다. 셀 선택 모드에 따라 달라집니다.
public void getSelectedCells()
{
if (getColumnSelectionAllowed() && ! getRowSelectionAllowed())
{
// Column selection is enabled
// Get the indices of the selected columns
int[] vColIndices = getSelectedColumns();
}
else if (!getColumnSelectionAllowed() && getRowSelectionAllowed())
{
// Row selection is enabled
// Get the indices of the selected rows
int[] rowIndices = getSelectedRows();
}
else if (getCellSelectionEnabled())
{
// Individual cell selection is enabled
// In SINGLE_SELECTION mode, the selected cell can be retrieved using
setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
int rowIndex = getSelectedRow();
int colIndex = getSelectedColumn();
// In the other modes, the set of selected cells can be retrieved using
setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
// Get the min and max ranges of selected cells
int rowIndexStart = getSelectedRow();
int rowIndexEnd = getSelectionModel().getMaxSelectionIndex();
int colIndexStart = getSelectedColumn();
int colIndexEnd = getColumnModel().getSelectionModel().getMaxSelectionIndex();
// Check each cell in the range
for (int r = rowIndexStart; r < = rowIndexEnd; r++)
{
for (int c = colIndexStart; c < = colIndexEnd; c++)
{
if (isCellSelected(r, c))
{
// cell is selected
}
}
}
}
}
1
Implmenent a TableModelListener. tableChanged() 메소드의 TableModelEvent은 행과 열이 변경 소스인지 알려줍니다.
1
모든 스윙 구성 요소는 동작을 사용하여 키 스트로크를 처리합니다. Enter 키의 기본 동작은 셀 선택 항목을 한 행 아래로 이동하는 것입니다. 이 동작을 변경하려면 기본 동작을 사용자 지정 동작으로 바꿔야합니다.
조치를 대체하는 방법에 대한 간단한 설명은 Key Bindings을 확인하십시오.
관련 문제
- 1. UITableViewCell이 선택되었는지 어떻게 알 수 있습니까?
- 2. Intent.ACTION_SEND에서 어떤 인 텐트가 선택되었는지 어떻게 알 수 있습니까?
- 3. C# : ListView에서 어떤 항목 인덱스가 선택되었는지 어떻게 알 수 있습니까?
- 4. 어떤 .emacs 파일이로드되었는지 어떻게 알 수 있습니까?
- 5. 어떤 행을 클릭했는지 어떻게 알 수 있습니까?
- 6. 어떤 것이 마운트 될 때 어떻게 알 수 있습니까?
- 7. , 어떤 페이지가 현재인지 어떻게 알 수 있습니까?
- 8. 어떤 파일이 상수인지 어떻게 알 수 있습니까?
- 9. 어떤 유형의 데이터베이스인지 어떻게 알 수 있습니까?
- 10. 어떤 기능이 호출되는지 어떻게 알 수 있습니까?
- 11. checkbox.checkedchanged 이벤트 질문. 어떤 체크 박스가 선택되었는지/변경되지 않았는지 어떻게 알 수 있습니까?
- 12. 어떤 헤더에서 어떤 기능이 사용되고 있는지 어떻게 알 수 있습니까?
- 13. 여러 하위 표현식 (예 : 괄호 사용)이있는 RegEx에서 어떤 부분이 일치했는지 어떻게 알 수 있습니까?
- 14. 어떤 클래스에서 어떤 함수가 호출되었는지 어떻게 알 수 있습니까?
- 15. 어떻게 알 수 있습니까?
- 16. 로그인했을 때 양식을 어떻게 알 수 있습니까?
- 17. JTable의 JTableHeader에 어떻게 컨트롤을 둘 수 있습니까?
- 18. 어떤 폼이 PHP로 폼에서 선택되었는지 알아 내기
- 19. 반성의 어떤 부분이 부적합한가요?
- 20. 어떤 버튼을 클릭했는지 어떻게 알 수 있습니까? Objective C
- 21. 어떤 클래스가 객체 인스턴스인지 어떻게 알 수 있습니까? (php5)
- 22. Bundler는 어떤 환경을 사용해야하는지 어떻게 알 수 있습니까?
- 23. iPhone : 어떤 터치가 종료되었는지 어떻게 알 수 있습니까?
- 24. 액션 스크립트의 어떤 부분이 장면에 들어가고 클립에 어떤 부분이 들어 있습니까?
- 25. 어떤 데이터 구조가 필요한지 우리는 어떻게 알 수 있습니까?
- 26. ActionExecutingContext 객체를 사용하여 어떤 액션이 실행되는지 어떻게 알 수 있습니까?
- 27. contentEditable 경우 어떤 요소가 수정되는지 어떻게 알 수 있습니까?
- 28. WPF 창이 어떤 모니터인지 알 수 있습니까?
- 29. 테이블에 어떤 유형의 잠금이 있는지 어떻게 알 수 있습니까?
- 30. PHP에서 어떤 포함 경로가 사용되는지 어떻게 알 수 있습니까?
@User에서 KeyListener는 셀의 이벤트를 캡처하지 않습니다. – jzd
청취자의 경우 2 * -1, 선택한 셀을 수집하는 경우 +1 – kleopatra