2012-07-24 1 views
1

이 수신기로 나를 도울 수 있습니까?jtext 필드를 jtable에서 업데이트 중

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ 
    public void valueChanged(ListSelectionEvent e){ 
     if(e.getValueIsAdjusting()){ 
      ListSelectionModel model = table.getSelectionModel(); 
      int lead = model.getLeadSelectionIndex(); 
      displayRowValues(lead); 
     } 
    } 
    private void displayRowValues(int rowIndex){ 
     String country = ""; 
     Object oCountry = table.getValueAt(rowIndex, 0); 
     country += oCountry.toString(); 
     countryTxt.setText(country); 
    } 
}); 

행의 중 하나를 선택하는 텍스트 필드 (countryTxt)에 JTable의 (테이블)에 셀에서 데이터를 전송하는데,하지만 난 행을 클릭 한 경우에만 작동 아니에요 나는 자전거 저점있을 때 내 테이블 화살표 키의.

답변

2
+0

당신은 마술사입니다! 정말 고마워! –

+1

기꺼이 도와 드리겠습니다. @ Reimeus가 제안한 바를 모두 다 주석으로 처리하는 대신 할 수 있습니다. 사실 일 때만 돌아가십시오. 설명 링크를 참조하십시오. – Spiff

+0

두 가지 방법 모두 작동하지만 다른 문제가 있습니다. 모든 행을 삭제할 때 java.lang.ArrayIndexOutOfBoundsException : 1> = 1 –

5

문제는이 라인이다 :

if (e.getValueIsAdjusting()) { 

함께이 교체 :

if (e.getValueIsAdjusting()) return; 

이것은 BTW 다중 선택 이벤트에 대한 검사입니다.