在java主函数中使用的泛型类
我使用下面的代码来创建泛型类。这段代码主要用于在java中获得文本字段中的焦点。假设我们给tab或Shift tab键,JTextField文本将被选中。我如何将这个泛型类实现到main函数我不知道如何在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
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());