0
사용자가 빈 문자열을 입력하지 않도록합니다. 현재 사용자는 숫자 만 입력 할 수 있습니다. 그러나 아무 것도 텍스트 필드를 비워 두지 않습니다. 비어있을 때 프로그램을 시작하기 위해 버튼을 누르지 못하도록 제한하고 싶습니다.내 JTextField를 방해하는 DocumentListener
지금 당장 내 텍스트 필드는 공백으로 남겨두고 처음에는 버튼이 회색으로 표시됩니다. 그러나 입력 할 때 버튼이 회색으로 유지됩니다. 이 코드는 모두 생성자에 있습니다.
private JTextField plays = new JTextField(7);
DocumentFilter filter = new NumberFilter();
((AbstractDocument)plays.getDocument()).setDocumentFilter(filter);
plays.setToolTipText("Please input an integer.");
if(plays.getText().equals(""))
play.setEnabled(false);
private class NumberFilter extends DocumentFilter
{
public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs)
throws BadLocationException
{
fb.insertString(offset, text.replaceAll("[^0-9]", ""), attrs);
}
}