2016-07-17 34 views
-1

Ich möchte hinzufügen Marke nach 3-Nummer zu einem J-Text-Feld für die Telefonnummer. Aber hier verliere ich geschriebene Zahlen. 099-1234534 EXIch möchte hinzufügen "-" markieren Sie nach 3 Nummer zu einem jtextfield für die Telefonnummer. aber hier verliere ich geschriebene Zahlen. EX 099-1234534

jTextField3.addKeyListener(new KeyAdapter() { 
    public void keyTyped(KeyEvent e) { 
     char c = e.getKeyChar(); 
      int MAX_LEN = 9; 
       int len = jTextField3.getText().length(); 
      if ((c >= '0') && (c <= '9')) { 
       if(len == 3){ 

       jTextField3.setText("-"); 
      } 
       if(len < MAX_LEN){ 
       jLabel24.setText(""); 
       return; 
      } 
      else if (len > MAX_LEN) { 
       jLabel24.setText("Cannot Enter More than Four Numbers"); 
       e.consume(); 

      }  
      } 
      else 
      { 
      e.consume(); 
      jLabel24.setText("Invalid Text"); 
      } 
    } 
    }); 
+0

Ersetzen Sie 'jTextField3.setText (" - ");' mit 'jTextField3.setText (jTextField3.getText() +" - ");' –

+0

ändern Sie Ihr jtextfield mit einem jformattedtextfield, die Unterstützung für formatierte Daten hinzufügen. Sehen Sie sich auch MaskFormatter an: http://docs.oracle.com/javase/7/docs/api/javax/swing/text/MaskFormatter.html – spi

Antwort

0

jTextField3.setText("-") Löscht alles, was man bisher in das Textfeld eingegeben haben. Sie müssen also zuerst den vorhandenen Text im Textfeld lesen, mit "-" verketten und über setText zurückstellen.