Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java主函数中使用的泛型类_Java_Swing_Generics - Fatal编程技术网

在java主函数中使用的泛型类

在java主函数中使用的泛型类,java,swing,generics,Java,Swing,Generics,我使用下面的代码来创建泛型类。这段代码主要用于在java中获得文本字段中的焦点。假设我们给tab或Shift tab键,JTextField文本将被选中。我如何将这个泛型类实现到main函数我不知道如何在java程序中实现泛型类 import java.awt.FlowLayout; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import javax.swing.JFrame; import jav

我使用下面的代码来创建泛型类。这段代码主要用于在java中获得文本字段中的焦点。假设我们给tab或Shift tab键,JTextField文本将被选中。我如何将这个泛型类实现到main函数我不知道如何在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;
            }
        }
    }
}
导入java.awt.FlowLayout;
导入java.awt.event.FocusAdapter;
导入java.awt.event.FocusEvent;
导入javax.swing.JFrame;
导入javax.swing.JTextField;
//导入javax.swing.text.JTextComponent;
类MyFocusListener扩展了FocusAdapter{
获得公共无效焦点(焦点事件evt){
final tc=(T)evt.getSource();
字符串s=c.getText();
c、 requestFocus();
c、 选择全部();
对于(int i=0;i
您需要将
FocusListener
添加到
JTextField
中,如下所示:

JTextField tf = new JTextField();
tf.addFocusListener(new MyFocusListener<JTextField>());
您可以这样使用它:

JTextField tf = new JTextField();
tf.addFocusListener(new MyFocusListener<JTextField>());
JTextField=newjtextfield();
tf.addFocusListener(新的MyFocusListener());