练习

image-20210806203142996

我最开始以为是这样,我的构思是做上下两个面板,然后每个面板上面盖三个面板,左右两个面板填充按钮,中间的面板再细分,甚至把每个面板的大小,位置设计好了,不过后来发现布局还是欠缺,达不到想要的效果,看了狂神的答案,人家没有特意设置每个按钮的大小位置,单纯的利用布局完成的案例

Day03.2021.08.08

狂神的思路:

image-20210808153036550

image-20210808111108591

image-20210808111119219

我的思路:

image-20210807120605412

后来我又做了一次,出现了成果,但是其中也存在一些问题

这是我的

image-20210808121351647

image-20210808121445280

image-20210808121458105

image-20210808121508740

结果:

image-20210808153702053

 

麻烦了很多,也有很多问题:

  • 每一个panel都必须设置布局模式

  • flowlayout不是单纯的从左到右排下去,而是把所有内容缩小之后从左到右排下去

image-20210808153614723

  • 针对这些面板设置的尺寸不会显示在窗体中,因为布局模式的比例是固定的,比如BorderLayout,东西南北中不会因为你把左边的面板尺寸调大而改变

  • 先添加button-->panel,再添加panel-->frame,否则出现的结果很奇怪

总结:

  1. Frame是一个顶级窗口

  2. Panel无法单独显示,必须添加到某个容器中

  3. 布局管理器

    1. 流式

    2. 东西南北中

    3. 表格

  4. 大小,定位,背景颜色,监听!

4. 事件监听

事件监听:当某个事情发生的时候,干什么?

image-20210808165201478

查看ActionListener--接口

image-20210808165116945

new接口得写实现类,可以写匿名内部类(一般不写)

image-20210808165335472

 


image-20210808165855350

image-20210808170001794

优化

image-20210808170752816

多个按钮共享一个事件

image-20210808175334027

image-20210808175346098

image-20210808175426540

5.输入框TextField监听

win+R输入calc打开计算器

写一个输单行入框监听

image-20210808180839064

不能换行,不知道getsource获得的是啥

image-20210808180849305

得到文本

image-20210808195641671

输入完内容回车,控制台就显示文本

image-20210808195739854

替换编码

输入的内容被替换成 * ,控制台显示正常的输出内容,保证安全性

image-20210808200119318

输入后清空

image-20210808200433952

2.6 简易计算器

组合+内部类回顾复习

oop原则:组合大于继承!

class A extends B{
   
}

class A{
   public B b;
}

基本构成

image-20210808201711921

先把框搭出来

image-20210808205718048

image-20210808205729996

加功能

image-20210808210700258

image-20210808210715005

来源:b站狂神

posted on 2021-08-08 21:13  托马斯源  阅读(31)  评论(0编辑  收藏  举报