2011-12-20 6 views
0

ジェネリッククラスの作成には次のコードを使用します。このコードは主にテキストにフォーカスしていますjava.supposeのフィールドTabまたはShiftキーを押しながらJTextFieldのテキストを選択します。私はJavaプログラムでジェネリッククラスを実装する方法がわからない主な機能には、この一般的なクラスを実装ジェネリッククラスはJavaメイン関数で使用します

import java.awt.FlowLayout; 
import java.awt.event.FocusAdapter; 
import java.awt.event.FocusEvent; 
import javax.swing.JFrame; 
import javax.swing.JTextField; 
//import javax.swing.text.JTextComponent; 


class MyFocusListener<T extends JTextField> extends FocusAdapter { 

    public void focusGained(FocusEvent evt) { 
     final T c = (T)evt.getSource(); 
     String s = c.getText(); 
     c.requestFocus(); 
     c.selectAll(); 

     for (int i = 0; i < s.length(); i++) { 
      if (!Character.isDigit(s.charAt(i))) { 
       c.setSelectionStart(i); 
       c.setSelectionEnd(i); 
       break; 
      } 
     } 
    } 

    public void focusLost(FocusEvent evt) { 
     final T c = (T) evt.getSource(); 
     String s = c.getText(); 

     if (evt.isTemporary()) { 
      return; 
     } 
     for (int i = 0; i < s.length(); i++) { 
      if (!Character.isDigit(s.charAt(i))) { 
      c.requestFocus(); 
       c.selectAll(); 
       break; 
      } 
     } 
    } 
} 
あなたが追加する必要があり

答えて

1

そのFocusListenerこのようなJTextFieldに:あなたはこのようにそれを使用

JTextField tf = new JTextField(); 
tf.addFocusListener(new MyFocusListener<JTextField>()); 
関連する問題