2017-10-14 13 views
1

私はテキストフィールドを持っています。私は入力中にテキストフィールドの入力を検証したいと思います。Googleの登録フォームと同じです。私はスレッドを使用しようとしました。しかし、それは混乱のように見えます。入力中にJTextFieldを確認する

+0

は[こちら](https://stackoverflow.com/questions/23134329/jtextfields-real-time-formatting-of-user-input)を見てください、あなたは可能性があります有用なものを見つける。 –

+0

@VasilisGは、 KeyListenerを使用しないでください。 DocumentListenerまたはJFormattedTextFieldを使用します。 – camickr

答えて

1

私はテキストフィールドを持っています。私は入力中にテキストフィールドの入力を検証したいと思います。googleの登録フォームと同じです。私はスレッドを使用しようとしました。しかし、それは混乱のように見えます。

入力時に入力を確認するスレッドを使用する必要はありません。この目的のために実装されたDocumentListenerを使用することができます。

テキストフィールドに入力するときにテキストフィールドの変更を聴くことができます。つまり、文字を入力/削除することができます。

+0

ありがとうございます。私はDocument Listenerがとても役に立ちます。私は、insertUpdate()とremoveUpdateメソッドを理解しています。しかし、私は実際にいつchangedUpdateメソッドを使うのか分かりません。私に例を教えてもらえますか? – John

+0

@ジョンちょうどinsertUpdateとremoveUpdateを使用してください。 changedUpdateは空のままにできます。私のソリューションで問題が解決したら、私のソリューションを受け入れることができます。 – user3437460

+0

うん。私はそれを理解した。 changedUpdateは、入力のサイズ、フォント、...を変更した場合にのみ発生します。とにかく、もう一度、ありがとう。 – John

0

このTextFieldにはKeyListenerを使用できます。

これは一例です:

import java.awt.event.KeyEvent; 
import java.awt.event.KeyListener; 

import javax.swing.*; 

public class JtextField { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

      JFrame f= new JFrame("TextField Example"); 

      JTextField t1; 
      t1=new JTextField("Welcome, Give me a world"); 
      t1.setBounds(50,100, 200,30); 

      f.add(t1); 
      f.setSize(400,400); 
      f.setLayout(null); 
      f.setVisible(true); 

      t1.addKeyListener(new KeyListener() { 

       @Override 
       public void keyTyped(KeyEvent e) { 
        // TODO Auto-generated method stub 
        System.out.println("keyTyped"); 
       } 

       @Override 
       public void keyReleased(KeyEvent e) { 
        // TODO Auto-generated method stub 
        System.out.println("keyReleased"); 
       } 

       @Override 
       public void keyPressed(KeyEvent e) { 
        // TODO Auto-generated method stub 
        System.out.println("keyPressed"); 
       } 
      }); 
    } 

} 
+2

KeyListenerを使用しないでください。 Swingには、DocumentListenerを使用する答えによって提案された、より新しいAPIがあります。 – camickr

関連する問題