一般来说,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工具网。
推荐阅读: