Java高级编程13-姜国海 GUI

GUI

AWT:GUI的实现技术(抽象组件工具包)
Canvas 用于实现自定义组件
Component 一切组件类的根类
Checkbox:选项框
CheckboxGroup
Choice:下拉列表框
Dialog:对话框,应用程序与用户的对话框
    FileDialog:文件对话框
对话框分为两类:模态与非模态
非模态对话框:
模态对话框:Dialog(Frame owner)
Container:容器,可以将其他的组件加到这个容器里面
向窗口中添加组件add函数
Color里面预定义了一些颜色,静态全局常量
Color.访问,常量的变量每个都用大写
Eg: Color.BLACK

Graphics类 描述组件的外观,封装了大量的Draw函数


匿名类不能是抽象类,匿名类的实例化和定义在一起





------------------------------------------------------------


组件租借机制:调用操作系统的组件
在不同的操作系统下界面相似但不同
AWT中只有11个组件
SWING:
组件数量多,不依赖与平台,不调用操作系统的组件,缺点:速度慢
双缓存技术解决速度问题

------------------------------------------------------------

SWT:IBM开发,安装java jdk不提供SWT,需自行下载
调用操作系统的绘图函数,性能好,速度快。

------------------------------------------------------------
JNI:java调用其他语言的接口

------------------------------------------------------------
javaFX:
功能极强大,表格等各种插件
类多,难学,使用场景少

现在的前端更多的是html css 等控制样式

适配器类

完成类型适配,函数名装换,参数转换,不封装逻辑

匿名类继承适配器类
不需要将所有的函数都重写,只需要写自己需要的函数

public Paint1() {   //构造方法,进行绘图操作的一些初始化设置
    setBackground(Color.blue);  
    setForeground(Color.yellow);
    addMouseListener(this);     //听众就是Paint1对象本身
    addMouseMotionListener(this);
    setSize(400,300);
    setVisible(true);
    addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent we) {
            System.exit(0); }});
}

绘图函数

都要封装在paint函数里面,这个是Component里面定义的函数,需要重写这个函数
paint函数由操作系统调用,每隔一段时间自己调用,绘图线程
setLayout(null);//使用默认布局

猜你喜欢

转载自blog.csdn.net/l1558198727/article/details/81097249