• java 24


     需求:把按钮添加到窗体,并对按钮添加一个点击事件
      A:创建窗体对象
      B:创建按钮对象
      C:把按钮添加到窗体
      D:窗体显示

       注意:这里对按钮添加点击事件,同样使用监听器。

        但是,这里的按钮是组件,所以不能使用  窗体侦听器WindowListener()

        要使用 组件侦听器 ActionListener() 。 

        同时,由于 ActionListener() 只有一个构造方法,所以不需要调用适配器。

    代码:

     1 public class FrameDemo3 {
     2 
     3     public static void main(String[] args) {
     4         // 创建窗体对象  局部内部类访问局部变量,得使该变量为静态 final
     5         final Frame f = new Frame("添加按钮");
     6   
     7         // 设置窗体属性
     8         f.setBounds(300, 300, 400, 400);
     9 
    10         // 设置窗体的布局为流水布局
    11         f.setLayout(new FlowLayout());
    12 
    13         // 创建按钮对象
    14         Button b = new Button("点击");
    15 
    16         // 设置按钮尺寸
    17         b.setBounds(10, 20, 20, 20);
    18 
    19         // 添加按钮到窗体中
    20         f.add(b);
    21 
    22         // 创建窗口关闭监听
    23         f.addWindowListener(new WindowAdapter() {// 适配器
    24             public void windowClosing(WindowEvent e) {
    25                 System.exit(0);
    26             }
    27 
    28         });
    29 
    30         // 创建按钮点击的监听事件
    31         // 用于接收操作事件的侦听器接口 ActionListener
    32         b.addActionListener(new ActionListener() {
    33             //由于操作时间的侦听器接口只有1个构造方法,所以直接使用它,不需要使用适配器
    34             public void actionPerformed(ActionEvent e) {
    35                 //每点击一次“点击”按钮,就会出现一个“再点啊”按钮
    36                 Button bu = new Button("再点啊"); 
    37                 bu.setSize(20,20);
    38                 f.add(bu);  //局部内部类中访问局部变量,这里在外面的f添加final
    39                 f.setVisible(true);
    40             }
    41         });
    42         // 使窗体显示
    43         f.setVisible(true);
    44     }
    45 
    46 }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    数据库数据带&符号 导入有问题的处理办法
    JS获得一个对象的所有属性和方法
    escape()、encodeURI()、encodeURIComponent()区别详解
    九度oj 题目1473:二进制数(stack)
    九度oj 题目1066:字符串排序
    九度oj 题目1049:字符串去特定字符
    九度oj 题目1045:百鸡问题
    九度oj 题目1048:判断三角形类型
    九度oj 题目1050:完数
    九度oj 题目1053:互换最大最小数
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5956408.html
Copyright © 2020-2023  润新知