今天我学到了 Java AWT 其实就是用来画窗口和做界面的一套工具,核心就是下面这几点:
- 怎么搭架子(容器与组件)
组件:就是界面上的零件,比如按钮、文本框。
容器:就是用来装这些零件的“盒子”。
Frame:最大的盒子,就是一个带标题栏的独立窗口。
Panel:中间层的盒子,不能独立存在,必须放到窗口里,用来把按钮分组摆放。
ScrollPane:自带滚动条的盒子,东西太多装不下时会自动出现滚动条。
Dialog:弹窗,分“霸道”的(模式对话框,不关掉它就不能点后面的窗口)和“不霸道”的。 - 怎么摆东西(布局管理器)
你不需要自己一个个去算坐标(x, y),Java 有专门的“管家”帮你自动排版。
BorderLayout:把地盘分成东、南、西、北、中五块,简单粗暴。
GridBagLayout:最灵活的管家,虽然设置起来麻烦点(要设权重、填充方式),但能把组件摆成各种复杂的形状,比如横跨两格、自动拉伸等。 - 怎么让程序动起来(事件处理)
以前程序是死的,现在学会了“监听”。
原理:就是“你点我,我办事”。比如给按钮注册一个监听器,用户一点击(事件源),程序就收到通知(事件对象),然后执行你写好的代码(监听器)。
偷懒技巧:如果一个接口里方法太多不想全写,可以继承“适配器”类,想用哪个方法就重写哪个。 - 怎么画图(绘图原理)
想在窗口里画圆、画线或者显示图片,不能随便画,得重写 paint() 方法。
流程:调用 repaint() 就像是喊一声“重画”,系统会先擦黑板(update),然后再让你画画(paint)。 - 怎么跟外界交换数据(剪贴板与拖放)
剪贴板:学会了怎么把程序里的文字或图片复制到系统的剪贴板,或者从剪贴板粘贴出来。
拖放:学会了怎么把文件直接拖进你的程序窗口里(比如做一个图片浏览器,把图片拖进去就能看)。
