【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(); } }