2014-01-12 3 views

답변

4

어떻게 텍스트를 삭제합니까 내가 좋아하는 텍스트가 아닌하지만 슬래시를 삭제하려면? setText("")을 사용하고 있습니까? 너는 그렇게해서는 안된다. 대신 setValue(null)을 사용하십시오. 이것이 문제가되지 않는다면, 현재하고있는 일과 그 대신에 일어나고있는 일에 대해 자세히 설명하십시오.

편집 :이 코드를 시험해보고 문제가 지속되는지 확인하십시오.

public class Tester { 
    public static void main(String[] args) { 
    DateFormat df = new SimpleDateFormat("dd/mm/yyyy"); 
    JFrame frame = new JFrame(""); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    JPanel panel = new JPanel(); 
    frame.setLayout(new BorderLayout()); 
    JFormattedTextField tf = new JFormattedTextField(df); 
    tf.setFocusLostBehavior(JFormattedTextField.COMMIT); 
    tf.setColumns(20); 
    panel.add(tf); 
    try { 
     MaskFormatter dateMask = new MaskFormatter("##-##-####"); 
     dateMask.install(tf); 
    } catch (ParseException ex) { 
    } 

    frame.add(new JButton(), BorderLayout.LINE_START); 

    frame.add(panel, BorderLayout.LINE_END); 
    frame.pack(); 
    frame.setVisible(true); 
    } 
}´ 

EDIT2 : 시도 tf.setFocusLostBehavior (JFormattedTextField.COMMIT)를 추가; 자세한 내용은 JavDoc을 참조하십시오.

+0

키보드를 사용하여 삭제 – DrkDeveloper

+0

시도해 보면이 예제가 작동합니다. '-' 문자는 그대로 유지됩니다. 통상, JFormattedTextField는이 방법으로 동작합니다. 무효 인 텍스트를 지정하면 (자), 이런 식으로 중단됩니다. 모든 코드를 게시 할 수 있습니까? –

+0

이것은 모두 내 코드입니다 – DrkDeveloper