FocusListener焦点监听器

时间:2021-07-30 17:59:54

【FocusListener焦点监听器】

FocusListener焦点监听器

public class Demo extends JFrame {
public Demo(){
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setBounds(100,100,200,120); Container c=getContentPane();
c.setLayout(new FlowLayout());
JTextField sk1=new JTextField();
JTextField sk2=new JTextField();
JTextField sk3=new JTextField();
sk1.setColumns(15);
sk2.setColumns(15);
sk3.setColumns(15);
c.add(sk1);
c.add(sk2);
c.add(sk3);
sk1.addFocusListener(new myFocusListenera() );//调用自定义焦点监听方法类
sk2.addFocusListener(new myFocusListener());
sk3.addFocusListener(new myFocusListener());
         setVisible(true);
}
//在myFocusListener 上 ,按Alt+Ins导入Java类快捷键 implements FocusListener
class myFocusListener implements FocusListener{//实现焦点监听 有光标点击为绿色,无光标点击为红色。
@Override
public void focusGained(FocusEvent e) {
JTextField sk=(JTextField) e.getSource();//获取触发焦点事件的控件,强制转换为文本
sk.setBorder(BorderFactory.createLineBorder(Color.green));
} @Override
public void focusLost(FocusEvent e) {
JTextField sk=(JTextField) e.getSource();//获取焦点事件触发的控件。强制转换为文本
sk.setBorder(BorderFactory.createLineBorder(Color.RED));
}
}
public static void main(String[] args) {
new Demo();
}
}