특정 문자 만 jTable에 입력 할 수있는 메서드가 필요합니다.jTable의 열에서 결정된 문자 사용
내 JFrame의는 다음과 같습니다 :
columnd에서"Precedentes"내가 열이 숫자 만 허용하고 있음을 필요로 ",".
제가 필요 입력 예 :
이 컬럼 내 검증 방법은 아래와 같다 :
private void jTable1KeyPressed(java.awt.event.KeyEvent evt) {
i = 0;
String carac="0987654321,";
if(!carac.contains(tableModel.getValueAt(i, 3)+"")){
tableModel.consume();// TODO add your handling code here:
}
}
I =>는 (그것이하는 루프에서 사용되는 내 줄 수있어 각 줄을 확인하십시오). 그래서 사용자가 "선행"열에 입력 한 내용을 한 줄씩 한 줄씩 찾아서 그 방법으로 유효성을 검사합니다.
숫자가 아니거나 "무언가"를 입력하면 "Precedente"열이 받아 들여지지 않아야합니다.
오류 메시지 나는 내 방법을 실행할 때 :
내가 필요한 것을 생각Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
는 번호를 ","받아들이는 마스크입니다,하지만 난의 칼럼에이 작업을 수행하는 방법을 모른다 jTable, 텍스트 필드를 사용하여이 방법을 알고 있지만 텍스트 필드에서 유효성을 검사하는 데 사용하는 메서드는 jtable에서 작동하지 않습니다.
사용자가 숫자가 아니거나 ","jtable 열에서 프로그래머가 수락하지 않으면 (jframe 테이블에 쓰기를 허용하지 않음) 원하는 작업을 수행 할 수 있습니다. 이 두 가지 방법을 통합? – Mutante
개별적인 키 입력을 검사하는 'DocumentListener'또는 [DocumentFilter]를 사용하여 [MaskFormatter'] (https://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html#maskformatter) 숫자 입력을 강제합니다. [here] (http://stackoverflow.com/a/37878422/230513). – trashgod
원래 게시물을 내가하려는 일로 업데이트했습니다. – Mutante