1、GUI
awt中做出来的由于调用了所在系统的按钮,特性,所以GUI界面在不同的系统显得不同,不能跨平台。但是swing在此基础上改善了,可以跨平台,到哪里都一样。
轻量级就是和本地系统相关性低。
window窗体可以独立存在,但是面板panel不行,必须依赖于window,Dialog对话框,Frame框架,Filedialog文件对话框,上传那个窗口(能选文件)就是。
checkbox复选框如下所示:
写文章的标题就是TextField,写的内容就是TextArea.
能添加组件的组件就是容器container,button那些就不行。
几种常见的布局方式:
其中边界布局方式就是如果没有指定东南西北中,那么就填冲整个面板,再添加的话就覆盖之前的填充整个面板。
网格包就是一个组件站多个格子。
卡片布局如下图
2、Frame f = new Frame()这种都是另外先建个线程来执行的,但是不可见的,需要调用f.setVisible(true)才能看到。
窗体一旦创建,就默认是边界布局。而添加button后也没有制定放在哪里,所以就是居中并拉伸覆盖了全部。
可见窗口的创建
3、事件源,承载事件的载体。
事件源和监听器相关联其实也就是讲监听器注册到事件源上。
之前创建监听器是需要实现WindowListener接口,并覆盖里面的所有方法,但是我们有时候只用里面的一个方法,直接实现实现WindowListener接口WindowListener接口,覆盖全部方法太复杂,所以干脆再用一个抽象类Adapt适配器类实现WindowListener接口,并覆盖全部方法,但是方法里面不写具体内容,这样直接实现adapt类,并覆盖里面想要的那个方法就行了。
窗口事件已发生(像关闭窗口这些事件),就会打包成对象传给e,事件自动调用windowClosing方法。
WindowListener里面的方法太多所以由相应的适配器WindowAdapt,但是有些组件的监听器里面方法很少(2个即以下),就不需要单独在用一个适配器类来实现,直接用就ok。
4、ActionListener
5、鼠标事件
如果应用程序想要执行基于按下并释放按钮的某个动作,则它应该实现 ActionListener
并注册新的侦听器,以便通过调用按钮的 addActionListener
方法来接收发自此按钮的事件。应用程序可以按消息传递协议使用按钮的动作命令。也就是只要让button和和ActionListener结合起来,就能实现,按一下按钮完成某想功能。
6、键盘事件
getKeyCode()是得到按下那个按键的编码,而getKeyText是静态的函数,是为了得到那个按键在键盘上对应的文字。
e.consume()的意思是文本框里输入的如果不是数字,文本框就不显示出来。
下图中红线的意思是按下ctrl并且按下enter才能有反映
7、Swing演示&装插件
8、菜单