练习
我最开始以为是这样,我的构思是做上下两个面板,然后每个面板上面盖三个面板,左右两个面板填充按钮,中间的面板再细分,甚至把每个面板的大小,位置设计好了,不过后来发现布局还是欠缺,达不到想要的效果,看了狂神的答案,人家没有特意设置每个按钮的大小位置,单纯的利用布局完成的案例
Day03.2021.08.08
狂神的思路:
我的思路:
后来我又做了一次,出现了成果,但是其中也存在一些问题
这是我的
结果:
麻烦了很多,也有很多问题:
-
每一个panel都必须设置布局模式
-
flowlayout不是单纯的从左到右排下去,而是把所有内容缩小之后从左到右排下去
-
针对这些面板设置的尺寸不会显示在窗体中,因为布局模式的比例是固定的,比如BorderLayout,东西南北中不会因为你把左边的面板尺寸调大而改变
-
先添加button-->panel,再添加panel-->frame,否则出现的结果很奇怪
总结:
-
Frame是一个顶级窗口
-
Panel无法单独显示,必须添加到某个容器中
-
布局管理器
-
流式
-
东西南北中
-
表格
-
-
大小,定位,背景颜色,监听!
4. 事件监听
事件监听:当某个事情发生的时候,干什么?
查看ActionListener--接口
new接口得写实现类,可以写匿名内部类(一般不写)
优化
多个按钮共享一个事件
5.输入框TextField监听
win+R输入calc打开计算器
写一个输单行入框监听
不能换行,不知道getsource获得的是啥
得到文本
输入完内容回车,控制台就显示文本
替换编码
输入的内容被替换成 * ,控制台显示正常的输出内容,保证安全性
输入后清空
2.6 简易计算器
组合+内部类回顾复习
oop原则:组合大于继承!
class A extends B{
}
class A{
public B b;
}
基本构成
先把框搭出来
加功能
来源:b站狂神