아래 텍스트 필드 자리 제한 소스
이거이름임
몇년전(?)에 프로젝트 UI 만들면서 만들었던 텍스트필드입니다.
참고가 되었으면 좋겠군요.
/**********************************************************************
*Class Name
-------------------------------------------------------------------
AdidJTextField.java
-------------------------------------------------------------------
*Class Description
디비 정보 검색 화면의 광고 정보 화면에서 광고 ID 텍스트 필드
광고 AD 번호의 오류 체크 기능 수행
Command 패턴 적용
-------------------------------------------------------------------
*특이사항
-------------------------------------------------------------------
-------------------------------------------------------------------
*기타
-------------------------------------------------------------------
Author: Lim Choong Soo
Date: 2001.11.12
***********************************************************************/
//import java.awt.*;
//import java.awt.event.*;
//import javax.swing.*;
//import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.Toolkit;
public class AdidJTextField extends javax.swing.JTextField implements ICommand{
public AdidJTextField() {
super();
}
public String getTextFrom() {
return super.getText();
}
public void execute() {
}
protected Document createDefaultModel() {
return new NumberDocument();
}
protected class NumberDocument extends PlainDocument {
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
if((str != null) && (str != ) && (str.length() == 1)){
try {
int val= Integer.parseInt(str);
}catch (NumberFormatException nfe) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
toolkit.beep();
javax.swing.JOptionPane.showMessageDialog(null, 숫자로만 입력하셔야합니다.,
입력오류!!, javax.swing.JOptionPane.ERROR_MESSAGE);
return;
}
}
String result = getTextFrom();
result = result.concat(str);
if (result.length() 4) {
System.out.println(11);
Toolkit toolkit = Toolkit.getDefaultToolkit();
toolkit.beep();
javax.swing.JOptionPane.showMessageDialog(null, 입력 범위 자릿수는 4자리입니다.,
입력 범위 오류!!, javax.swing.JOptionPane.ERROR_MESSAGE);
return;
} else {
if(result.length() == 4) {
if((Integer.parseInt(result.trim()) 0) ||
(Integer.parseInt(result.trim()) 1999)) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
toolkit.beep();
javax.swing.JOptionPane.showMessageDialog(null, 입력 범위는 1~1999 입니다.,
입력 범위 오류!!, javax.swing.JOptionPane.ERROR_MESSAGE);
return;
}
}
super.insertString(offs, str, a);
}
} // end of method
} // end of inner class StatNumberDocument
} // end of class
-
히나
^^ 도움 됐음 좋겠슴다..
-
가온
이렇게 소스까지..감사합니다..^^
-
큰뫼
ㅎㅎㅎ 감사함다
-
한가람
헤어스타일이 멋지시고만용 -0-