Java程序设计--Swing基础(第2部分)

一、常用事件监听接口
1、ActionListener
用于接收操作事件的监听接口。例如:点击按钮、点击菜单项、文本框回车等功能。
【实例1】点击按钮事件
1 import javax.swing.*;
2 import java.awt.event.ActionEvent;
3 import java.awt.event.ActionListener;
4
5 public class ListenerTest extends JFrame {
6 public ListenerTest(){
7 this.setTitle("事件监听器");
8 this.setSize(300,300);
9 this.setLayout(null);
10 this.setLocationRelativeTo(null);
11 JButton jButton = new JButton("提交");
12 jButton.setBounds(110,30,60,30);
13 // 用于接收操作事件的监听接口,如:点击按钮
14 jButton.addActionListener(new ActionListener() {
15 @Override
16 public void actionPerformed(ActionEvent e) {
17 JOptionPane.showMessageDialog(null,
18 "这是一个点击按钮的事件监听");
19 }
20 });
21 this.add(jButton);
22 this.setVisible(true);
23 }
24
25 public static void main(String[] args) {
26 new ListenerTest();
27 }
28 }
【效果图】
【实例2】文本框回车事件
1 import javax.swing.*;
2 import java.awt.event.ActionEvent;
3 import java.awt.event.ActionListener;
4
5 public class ListenerTest extends JFrame {
6 public ListenerTest(){
7 this.setTitle("事件监听器");
8 this.setSize(300,300);
9 this.setLayout(null);
10 this.setLocationRelativeTo(null);
11 JButton jButton = new JButton("提交");
12 jButton.setBounds(110,30,60,30);
13 JTextField jTextField = new JTextField();
14 jTextField.setBounds(110,80,60,30);
15 // 用于接收操作事件的监听接口,如:文本框回车
16 jTextField.addActionListener(new ActionListener() {
17 @Override
18 public void actionPerformed(ActionEvent e) {
19 JOptionPane.showMessageDialog(null,
20 "这是一个文本框回车的事件监听,输入的数据是:" +
21 jTextField.getText());
22 }
23 });24 this.add(jTextField);
25 this.setVisible(true);
26 }
27
28 public static void main(String[] args) {
29 new ListenerTest();
30 }
31 }
【效果图】
2、MouseListener
用于处理鼠标事件的监听接口。包括:按下、释放、单击、进入、离开等。
【实例】鼠标事件
1 import javax.swing.*;
2 import java.awt.event.ActionEvent;
3 import java.awt.event.ActionListener;
4 import java.awt.event.MouseEvent;
5 import java.awt.event.MouseListener;
6
7 public class ListenerTest extends JFrame {
8 public ListenerTest(){
9 this.setTitle("时间监听器");
10 this.setSize(300,300);
11 this.setLayout(null);
12 this.setLocationRelativeTo(null);
13 JButton jButton = new JButton("提交");14 jButton.setBounds(110,30,60,30);
15 // 用于操作鼠标事件
16 jButton.addMouseListener(new MouseListener() {
17 //单击
18 @Override
19 public void mouseClicked(MouseEvent e) {
20 JOptionPane.showMessageDialog(null,"单击");
21 }
22 //按下
23 @Override
24 public void mousePressed(MouseEvent e) {
25 JOptionPane.showMessageDialog(null,"按下");
26 }
27 //释放
28 @Override
29 public void mouseReleased(MouseEvent e) {
30 JOptionPane.showMessageDialog(null,"释放");
31 }
32 //进入
33 @Override
34 public void mouseEntered(MouseEvent e) {
35 JOptionPane.showMessageDialog(null,"进入");
36 }
37 //离开
38 @Override
39 public void mouseExited(MouseEvent e) {
40 JOptionPane.showMessageDialog(null,"离开");
41 }
42 });
43 JTextField jTextField = new JTextField();
44 jTextField.setBounds(110,80,60,30);
45 jTextField.addActionListener(new ActionListener() {
46 @Override
47 public void actionPerformed(ActionEvent e) {
48 JOptionPane.showMessageDialog(null,
49 "这是一个文本框回车的事件监听,输入的数据是:"
50 + jTextField.getText());
51 }
52 });
53 this.add(jButton);54 this.setVisible(true);
55 }
56
57 public static void main(String[] args) {
58 new ListenerTest();
59 }
60 }
【效果图】
二、常用提示框总结

【实例1】

1 import javax.swing.*;
2 import java.awt.event.ActionEvent;
3 import java.awt.event.ActionListener;
4
5 public class ListenerTest extends JFrame {
6 public ListenerTest(){
7 this.setTitle("事件监听器");
8 this.setSize(300,300);
9 this.setLayout(null);
10 this.setLocationRelativeTo(null);
11 JButton jButton1 = new JButton("测试");
12 jButton1.setBounds(110,130,60,30);
13 jButton1.addActionListener(new ActionListener() {
14 @Override
15 public void actionPerformed(ActionEvent e) {
16 //普通提示框
17 JOptionPane.showMessageDialog(null,
18 "这是一个弹窗","普通提示框",JOptionPane.INFORMATION_MESSAGE);
19 //警告提示框
20 JOptionPane.showMessageDialog(null,
21 "这是一个弹窗","警告提示框",JOptionPane.WARNING_MESSAGE);
22 //错误提示框
23 JOptionPane.showMessageDialog(null,
24 "这是一个弹窗","错误提示框",JOptionPane.ERROR_MESSAGE);
25 //判断提示框
26 int t = JOptionPane.showConfirmDialog(null,
27 "确定删除?","这是弹窗标题",JOptionPane.YES_NO_OPTION);
28 if (t==JOptionPane.YES_OPTION){
29 System.out.println("确定操作");
30 } else {
31 System.out.println("取消操作");
32 }
33 //自定义判断提示框
34 Object[] options = {"确定(Y)","取消(N)"};
35 JOptionPane.showOptionDialog(null,"确定删除?","标题",
36 JOptionPane.YES_NO_OPTION,
37 JOptionPane.QUESTION_MESSAGE,null,
38 options,options[0]);
39 }
40 });
41 this.add(jButton1);
42 this.setVisible(true);
43 }
44
45 public static void main(String[] args) {
46 new ListenerTest();
47 }
48 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值