实现委托监听机制的三种方式.java
import java.awt.*;
import javax.swing.*;
public class ActionEvent {
public static void main(String args[]) {
JFrame jf = new JFrame("ActionEvent");
JButton jb = new JButton("click");
jb.addActionListener(new ButtonHandler());
jf.getContentPane().add(jb, BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
}
}
import java.awt.event.*;
public class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("Take Action");
}
}
import java.awt.*;
import java.awt.event.*;
public class ActionEvent {
private Frame fr = new Frame("MyFrame");
private Button bu = new Button("MyButton");
public ActionEvent() {
fr.setSize(400, 300);
fr.pack();
fr.setVisible(true);
fr.add(bu);
fr.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
}
fr.addActionListener(new ButtEvent());
private class ButtEvent implements ActionListener {
public void actionPerformed(ActionEvent ae) {
bu.setLabel("YourButton");
}
}
public static void main(String args[]) {
new ActionEvent();
}
}
import java.awt.*;
import java.awt.event.*;
public class ActionListener {
public static void main(String args[]) {
Frame fr = new Frame();
Button mb = new MyButton();
fr.add(mb);
fr.pack();
fr.setVisible(true);
}
}
public class MyButton {
public MyButton(String text) {
super(text);
addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
System.exit(0);
}
}
事件处理–简介.java
, , .
>
<>
>
, , . , , .
<>
>
, , , , ,
,
-- , .
-- , .
-- , .
, , ,.
事件学习之 Keyboard 事件.java
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class LocalTest extends KeyAdapter implements ActionListener {
JFrame jFrame = null;
JLabel jLabel = null;
JTextField jTextField = null;
String key = "";
public LocalTest() {
jFrame = new JFrame("键盘监听示例");
Container contentPane = jFrame.getContentPane();
contentPane.setLayout(new GridLayout(3, 1));
jLabel = new JLabel();
jTextField = new JTextField();
jTextField.requestFocus();
jTextField.addKeyListener(this);
JButton jButton = new JButton();
jButton.addActionListener(this);
contentPane.add(jLabel);
contentPane.add(jTextField);
contentPane.add(jButton);
jFrame.setSize(500, 400);
jFrame.setVisible(true);
jFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
key = "";
jLabel.setText("");
jTextField.setText("");
jTextField.requestFocus();
}
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (c == 'n') {
/** 若输入字符串0, 就会弹出新的窗口 **/
JFrame jFrameNew = new JFrame("这是一个新的窗口");
jFrameNew.setSize(200, 200);
jFrameNew.setVisible(true);
}
key = key + c;
jLabel.setText(key);
}
public static void main(String[] args) {
new LocalTest();
}
}
事件学习之 Mouse 事件.java
/**
*鼠标事件: MouseEvent,
* 鼠标监听器: MouseListener 和 MouseMotionListener.
*
* MouseListener:负责鼠标的按下/抬起/进入某一区域.当组件注册了鼠标监听器后,如果组件发生以上的动作事件后,就会激活相应的事件处理方法.
*
* MouseMotionListener:主要负责鼠标的拖动事件处理.当用户注册了MouseMotionListener的组件上拖动鼠标时,就会激活mouseDragged(MouseEvent e)方法, 如果用户此时没有按下鼠标而是移动鼠标时, 就会激活 mouseMoved(MouseEvent e)方法.
*/
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MouseTest extends WindowAdapter implements MouseListener {
JFrame jFrame = null;
JButton jButton1 = null;
JLabel jLabel = null;
public MouseTest() {
jFrame = new JFrame("鼠标事件范例");
Container contentPane = jFrame.getContentPane();
contentPane.setLayout(new GridLayout(2, 1));
jButton1 = new JButton("按钮");
jLabel = new JLabel("初始状态, 还没有鼠标事件", JLabel.CENTER);
jButton1.addMouseListener(this);
contentPane.add(jLabel);
contentPane.add(jButton1);
jFrame.pack();
jFrame.setVisible(true);
jFrame.addWindowListener(this);
}
public void mousePressed(MouseEvent e) {
jLabel.setText("您已按下鼠标");
}
public void mouseReleased(MouseEvent e) {
jLabel.setText("您已松开鼠标");
}
public void mouseEntered(MouseEvent e) {
jLabel.setText("光标已经进入按钮");
}
public void mouseExited(MouseEvent e) {
jLabel.setText("光标已经离开按钮");
}
public void mouseClicked(MouseEvent e) {
jLabel.setText("您单击了按钮");
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public static void main(String[] args) {
new MouseTest();
}
}