2014-11-07 5 views
1

일부 계정 데이터가 포함 된 jTable이 있습니다. 셀 텍스트 (데이터)가 열 번호 4 (코드 바이스 열 3)의 "아니오"이면 jTable 행을 클릭하면 단추를 비활성화하려고합니다. 아래 코드는 내 코드이지만 작동하지 않습니다.jButton 사용 안 함 조건부

int selectedRow = tblJournalBatchList.getSelectedRow(); 
if (tblJournalBatchList.getValueAt(selectedRow, 3) == "NO") { 
    btnPost.setEnabled(false); 
} 

내 코드에 어떤 문제가 있습니까?

+0

'SelectionListener' 코드입니까? –

답변

2

== 대신 .equals을 사용하십시오. Stringobject type.it는 int, char와 같은 프리미티브에서만 작동하므로이 경우에는 ==을 사용할 수 없습니다. 참조 품질이 작동하지 않는 이유를 확인하고 있습니다. 자세한 내용은 이쪽을 참조하십시오 How do I compare strings in Java?

int selectedRow = tblJournalBatchList.getSelectedRow(); 

if ((String)tblJournalBatchList.getValueAt(selectedRow, 3).equals("NO")) { 

    btnPost.setEnabled(false); 

} 
+1

고마워, 그게 효과가있어. 그러나 이미 문자열 값이므로 String 값으로 변환 할 필요가 없습니다. 나 맞아? – Mahesh

+0

nice 참조 된 질문을 읽는 것을 잊지 마십시오 –

+1

note 필요한 행을 래핑하는 경우'if ((String) tblJournalBatchLis .... ')'if (selectedRow> -1) {'에 trest로 btw 모든 코드를 제거하십시오. 설명으로 대체하고'ListSelectionListener'에 대한 튜토리얼에 연결하십시오 – mKorbel