焦点事件监听器
package swing;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
/*
* 焦点事件监听器
* 在项目创建中创建FocusEventTest,在该类继承JFrame类成为窗体组件,在类中创建文本框组件
* 并为文本框添加焦点事件监听器,将文本框组件添加到窗体中
*/
public class FocusEventTest extends JFrame{
private JButton jb=new JButton("确定");
public FocusEventTest() {
setTitle("测试焦点事件监听");
//设置窗体大小
setSize(250,100);
//窗体可视
setVisible(true);
//设置窗体关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//创建容器
Container cp=getContentPane();
//设置流布局管理器
getContentPane().setLayout(new FlowLayout());
//创建一个标签
final JLabel label = new JLabel();
//在容器中添加标签
getContentPane().add(label);
//创建文本框
JTextField jt=new JTextField("请单击其他文本框",10);
JTextField jt2=new JTextField("请单击我",10);
//将文本框添加到容器
cp.add(jt);
cp.add(jt2);
jt.addFocusListener(new FocusListener() {
//组件失去焦点时调用的方法
@Override
public void focusLost(FocusEvent arg0) {
JOptionPane.showMessageDialog(null, "文本框失去焦点");
}
//组件获取焦点时调用的方法
@Override
public void focusGained(FocusEvent arg0) {
}
});
}
public static void main(String[] args) {
new FocusEventTest();
}
/*
* 在本实例中,为文本框组件添加了焦点事件监听器。这个监听需要实现FocusListener接口
* 在该接口中定义了两个方法,分别为focusLost()与focusGained(),其中focusLost()
* 是在组件失去焦点时调用的,而focusGained()是在组件获取焦点时调用的。由于本实例需要在
* 文本框失去焦点时弹出相应的对话框功能,所以重写focusLost(),同时在为文本框添加监听时使用
* 了匿名内部内的形式,将实现FocusListener接口对象传递给addFocusListener().
*/
}
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
/*
* 焦点事件监听器
* 在项目创建中创建FocusEventTest,在该类继承JFrame类成为窗体组件,在类中创建文本框组件
* 并为文本框添加焦点事件监听器,将文本框组件添加到窗体中
*/
public class FocusEventTest extends JFrame{
private JButton jb=new JButton("确定");
public FocusEventTest() {
setTitle("测试焦点事件监听");
//设置窗体大小
setSize(250,100);
//窗体可视
setVisible(true);
//设置窗体关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//创建容器
Container cp=getContentPane();
//设置流布局管理器
getContentPane().setLayout(new FlowLayout());
//创建一个标签
final JLabel label = new JLabel();
//在容器中添加标签
getContentPane().add(label);
//创建文本框
JTextField jt=new JTextField("请单击其他文本框",10);
JTextField jt2=new JTextField("请单击我",10);
//将文本框添加到容器
cp.add(jt);
cp.add(jt2);
jt.addFocusListener(new FocusListener() {
//组件失去焦点时调用的方法
@Override
public void focusLost(FocusEvent arg0) {
JOptionPane.showMessageDialog(null, "文本框失去焦点");
}
//组件获取焦点时调用的方法
@Override
public void focusGained(FocusEvent arg0) {
}
});
}
public static void main(String[] args) {
new FocusEventTest();
}
/*
* 在本实例中,为文本框组件添加了焦点事件监听器。这个监听需要实现FocusListener接口
* 在该接口中定义了两个方法,分别为focusLost()与focusGained(),其中focusLost()
* 是在组件失去焦点时调用的,而focusGained()是在组件获取焦点时调用的。由于本实例需要在
* 文本框失去焦点时弹出相应的对话框功能,所以重写focusLost(),同时在为文本框添加监听时使用
* 了匿名内部内的形式,将实现FocusListener接口对象传递给addFocusListener().
*/
}