一般来说,java中的知识点都是具有非常强的衍生性的。往往一个知识点后面还有更多的内容,所以学习起来也是比较费工夫的。关于焦点时间监听器也是比较难的,一起来了解一下吧。
首先我们需要知道的是,除了单击事件外,焦点事件监听器在实际项目中应用也比较广泛,例如将光标离开文本框时弹出对话框,或者将焦点返回给文本框等。
与焦点事件监听器有关的信息如下:
1.事件名称:FocusEvent。
2.事件监听接口: FocusListener。
3.事件相关方法:addFocusListener()添加监听,removeFocusListener()删除监听。
4.涉及事件源:Component以及派生类。
FocusEvent接口定义了两个方法,分别为focusGained()方法和focusLost()方法,其中focusGained()方法是在组件获得焦点时执行,focusLost()方法是在组件失去焦点时执行。
给大家举个例子说明一下,实例代码如下:
import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.*; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; public class FocusListenerDemo extends JFrame { JLabel label; JTextField txtfield1; public FocusListenerDemo() { setTitle("焦点事件监听器示例"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 400, 200); JPanel contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); label = new JLabel(" "); label.setFont(new Font("楷体", Font.BOLD, 16)); //修改字体样式 contentPane.add(label, BorderLayout.SOUTH); txtfield1 = new JTextField(); //创建文本框 txtfield1.setFont(new Font("黑体", Font.BOLD, 16)); //修改字体样式 txtfield1.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent arg0) { // 获取焦点时执行此方法 label.setText("文本框获得焦点,正在输入内容"); } @Override public void focusLost(FocusEvent arg0) { // 失去焦点时执行此方法 label.setText("文本框失去焦点,内容输入完成"); } }); contentPane.add(txtfield1); } public static void main(String[] args) { FocusListenerDemo frame = new FocusListenerDemo(); frame.setVisible(true); } }
然后说一下其他事件有哪些?
1.KeyListener键盘事件
2.MouseListener鼠标事件
3.WindowFousListener窗体焦点事件
4.WindowStateListener窗体状态事件
5.WindowListener窗体事件
6.ItemListener选项事件
7.TableModelListener表格模型事件
8.ListSelectionListener列表项选择事件
其实大家都知道学习java本身就是一件比较需要耐心的事情,因为它的复杂性和困难性往往会使大家想要放弃,但只有坚持才有收获。想要获得更多java常见问题,敬请关注奇Q工具网。
推荐阅读: