java事件

java事件

1.事件:(用外部设备操作组件)

键盘事件(KeyEvent): 击键,键按下,键释放;

动作事件(ActionEvent): 单击按钮、选择菜单项或在文本框中按回车时;

鼠标事件(MouseEvent): 单击鼠标,鼠标进入,鼠标离开,鼠标按下,鼠标释放;

鼠标移动事件(MouseEvent): 鼠标拖放,移动时;

调整事件(AdjustEvent): 改变滚动条滑块位置时;

容器事件(ContainerEvent): 添加,移除组件时;

焦点事件(FocusEvent): 组件获得焦点时,失去焦点时;

选择事件(ItemEvent): 选择复选框、选项框、单击列表框、选中带复选框菜单时;

文本事件(TextEvent): 文本框,多行文本框修改时;

窗口事件(WindowEvent): 窗口关闭时,打开后,关闭后,激活时,失去焦点时,最小化时,还原时;

2.事件源
发生事件的组件

3.事件监听器
监听一个事件所进行的动作,并负责处理该事件的方法;
步骤:
创建一个类,实现对应的监听器接口 -> 实现监听器接口的所有方法(即如何处理对应的事件)

4.事件处理的主要步骤:
(1)生成监听器
(2)在发生事件的对应组件上注册监听器
(3)注册监听器的组件上发生事件时,将事件对象返回给监听器;
(4)监听器调用相应方法处理事件;

代码示例:

public class LoginListener implements ActionListener{

		String text;
		public void actionPerformed(ActionEvent e){
			if("willow".equals(text)){
				system.out.println("登录成功!\n");
			}
		}
}


public class Login(){
	public void showFrame(){
	//创建窗体
		JFrame LFrame = new JFrame();
		LFrame.setSize(1000,800);
		LFrame.setLocationRelativeTo(null);
		LFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		LFrame.setLayout(new FlowLayout());

	//创建监听器对象
	LoginListener lg = new LoginListener();
	
	//给窗体添加按钮组件
		JTextField tf = new JTextField();
		LFrame.add(tf);
	//给输入框添加监听器	
		tf.addActionLisener(lg);
		tf.text=tf.getText();
	}
};
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java事件处理机制是一种基于委派事件模型的机制。当事件发生时,产生事件的对象会将事件的信息传递给事件的监听者进行处理。事件的信息实际上是由java.awt.event事件类库中的某个类创建的对象。 以下是几种Java事件处理的方式: 1. 使用Action和ActionListener机制: ```java import java.awt.*; import java.awt.event.*; public class MyButton extends Frame { private Button button; public MyButton() { button = new Button("Click me"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Button clicked"); } }); add(button); setSize(300, 200); setVisible(true); } public static void main(String[] args) { new MyButton(); } } ``` 2. 使用普通方法调用: ```java import java.awt.*; import java.awt.event.*; public class MyButton extends Frame { private Button button; public MyButton() { button = new Button("Click me"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { buttonClicked(); } }); add(button); setSize(300, 200); setVisible(true); } public void buttonClicked() { System.out.println("Button clicked"); } public static void main(String[] args) { new MyButton(); } } ``` 3. 使用回调函数: ```java import java.awt.*; import java.awt.event.*; public class MyButton extends Frame { private Button button; public MyButton() { button = new Button("Click me"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { buttonClicked(new ButtonEvent()); } }); add(button); setSize(300, 200); setVisible(true); } public void buttonClicked(ButtonEvent event) { System.out.println("Button clicked"); } public static void main(String[] args) { new MyButton(); } } class ButtonEvent { // Event data } ``` 4. 使用观察者模式: ```java import java.awt.*; import java.awt.event.*; import java.util.*; public class MyButton extends Frame { private Button button; private List<ActionListener> listeners; public MyButton() { button = new Button("Click me"); listeners = new ArrayList<ActionListener>(); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { for (ActionListener listener : listeners) { listener.actionPerformed(e); } } }); add(button); setSize(300, 200); setVisible(true); } public void addActionListener(ActionListener listener) { listeners.add(listener); } public static void main(String[] args) { MyButton myButton = new MyButton(); myButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Button clicked"); } }); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hnu哈哈

请接受直女的么么哒????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值