通过Frame做的加法计算器更好的理解内部类的使用

随笔记录一下,周六补了补awt和swing的知识,兴趣使然,毕竟这些技术现在很少有用的了。
跟着视频做的,目的不是为了画出多好看的窗口,而是为了更好的理解面向对象编程。
为自己更好的编码习惯,也为了更好的看懂别人的代码。
这里写的是第三种内部类的做法,省事但复用性差,个人更看好的是第二种组合类的使用,有板有眼的面向对象。

public class Test6 {
    public static void main(String[] args) {
        new MyFrame().loadFrame();
    }
}

    class MyFrame extends Frame {
        private TextField num1,num2,num3;

        public void loadFrame(){
            num1 = new TextField(10);
            num2 = new TextField(10);
            num3 = new TextField(10);

            Label label = new Label("+");
            Button button = new Button("=");
            button.addActionListener(new MyListener());

            add(num1);
            add(label);
            add(num2);
            add(button);
            add(num3);

            setLayout(new FlowLayout());
            setVisible(true);
            pack();
        }

        private class MyListener implements ActionListener{
            @Override
            public void actionPerformed(ActionEvent e) {
                // 获得加数和被加数
                int n1 = Integer.parseInt(num1.getText());
                int n2 = Integer.parseInt(num2.getText());
                // 将这两个数 + 法运算后,放到第三个框
                num3.setText(""+(n1+n2));
                // 清除前两个框
                num1.setText("");
                num2.setText("");
            }
        }
    }

Original: https://www.cnblogs.com/cyb-start/p/15333673.html
Author: 长夜余火
Title: 通过Frame做的加法计算器更好的理解内部类的使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/715171/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 关于SQL语句的执行顺序

    首先,要清楚在一select语句中都会用到哪些关键字: 其次,要知道每执行一步就会生成一个对应的虚拟表: 明白这两点再看执行的先后顺序 1.from语句:不管是什么SQL语句,都得…

    技术杂谈 2023年7月11日
    080
  • 袭击Mercurial SCM(HG)

    这个叫水银的源代码管理工具尽管默默无闻,但还是得到了非常多团队的使用。 为了迎合某些团队的须要,我们也要用它来管理我们的代码。 今天的任务是先袭击学习。磨刀不误砍柴工。 对工具的掌…

    技术杂谈 2023年5月31日
    095
  • 微信小程序性能优化

    作者:孟繁贵 Email:meng010387@126.com 期待共同进步! Original: https://www.cnblogs.com/mengfangui/p/163…

    技术杂谈 2023年5月31日
    079
  • Spring Ioc源码分析系列–Bean实例化过程(一)

    Spring Ioc源码分析系列–Bean实例化过程(一) 前言 上一篇文章Spring Ioc源码分析系列–Ioc容器注册BeanPostProcesso…

    技术杂谈 2023年7月25日
    075
  • Gitlab 403 forbidden 并发引起IP被封

    问题 在工作中自搭建的Gitlab。但今天打开页面的时候显示的是空白页面,上面还有一次文本Forbidden。 原因 Gitlab使用rack_attack做了并发访问的限制。 解…

    技术杂谈 2023年7月11日
    057
  • zookeeper_overview

    概述 zk 是一个开源的,分布式协调服务,它的目的就是为了服务于分布式应用。zk 允许分布式应用通过 zk 的节点进行相互协调,常见的有配置同步、分布式锁、微服务注册与发现等等。 …

    技术杂谈 2023年7月24日
    090
  • HashMap详解

    HashMap详解 HashMap相关介绍 HashMap是Java中的比较常见的集合,主要存放的是键值对,以key-value的形式存储,不是线程安全的。它里面的存储的key和v…

    技术杂谈 2023年6月21日
    093
  • 内核同步问题

    linux内核同步问题 Linux内核设计与实现 十、内核同步方法 [手把手教Linux驱动5-自旋锁、信号量、互斥体概述](https://www.cnblogs.com/yik…

    技术杂谈 2023年6月21日
    084
  • XCTF pwn新手区解题记录

    一、前言 闲来无事,刷刷ctf题 二、题目: level0 1、下载好题目后,拖入到kali中去,用 file 和 checksec 查看一下,可以发现该程序是 64&#x…

    技术杂谈 2023年7月11日
    068
  • patchelf 的功能以及使用 patchelf 修改 rpath 以解决动态库问题

    在 低版本 libc 库运行高版本 libc 库编译的程序 这篇博客中我描述了使用 patchelf 来修改动态库链接器的方法,在本篇文章中,我完整的列举下 patchelf 的功…

    技术杂谈 2023年5月31日
    064
  • synchronized原理剖析

    synchronized原理剖析 并发编程存在什么问题? 1️⃣ 可见性 可见性:是指当一个线程对共享变量进行了修改,那么另外的线程可以立即看到修改后的最新值。 案例演示:一个线程…

    技术杂谈 2023年6月21日
    099
  • hasura graphql-engine centos 7 二进制文件

    昨天自己构建了一个简单的hasura graphql-engine centos 7 二进制文件,可以使用 参考使用 下载 wget https: chmod +x graphql…

    技术杂谈 2023年5月30日
    092
  • 12.路径总和

    title: 路径总和 📃 题目描述 题目链接:路径总和 🔔 解题思路 可以参考一下 二叉树的所有路径 这题; 方法一:递归方法,回溯,重点:每次传入当前数据的总和进去,每次还需要…

    技术杂谈 2023年7月24日
    078
  • 【远程办公】Mixin 团队招聘

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    075
  • PHP获取毫秒时间戳

    //获取毫秒时间 function microsecond() { $t = explode(" ", microtime()); $microsecond =…

    技术杂谈 2023年5月31日
    0105
  • Python列表初始化的坑

    Python列表初始化存在的坑 二维列表初始化 L=[[0]*n]*m 方式初始化 初始化一个(m\times n) 的二维列表,初值全为0 L=[[0]*3]*2 print(&…

    技术杂谈 2023年7月11日
    064
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球