GUI编程-01

组件

  • 窗口

  • 弹窗

  • 面板

  • 文本框

  • 列表框

  • 按钮

  • 图片

  • 监听事件

  • 鼠标

  • 键盘事件

  • 破解工具

Java提供了丰富的图形用户界面(Graphics User Interface,GUI)的类库,基于这些类库可以编写窗口程序。

Java关于图形界面的类库主要放在Swing和AWT包下。

AWT

AWT组件也被称为重组件,因为针对不同的运行平台,AWT组件会调用特定平台组件。

AWT是一个抽象窗口类。

1.包含了很多类和接口

2.元素:窗口,按钮,文本框

3.java.awt包

组件和容器

复制代码
package YMP.GUI;
​
import java.awt.*;
​
public class TestFrame {
    public static void main(String[] args) {
        Frame frame=new Frame("第一个Java图形界面窗口");
​
        //设置可见性
        frame.setVisible(true);
        //设置窗口大小
        frame.setSize(400,400);
        //设置背景颜色
        frame.setBackground(Color.BLACK);
        //弹出的初始位置
        frame.setLocation(200,200);
        //设置大小固定,不可拉伸
        frame.setResizable(false);
    }
}
​

多个窗口

复制代码
package YMP.GUI;
​
import java.awt.*;
​
class MyFrame extends Frame {
​
​
    public MyFrame(int x,int y,int w,int h,Color color){
        setVisible(true);
        setBounds(x,y,w,h);
        setBackground(color);
    }
}
复制代码
package YMP.GUI;
​
import java.awt.*;
​
public class TestFrame2 {
   
    public static void main(String[] args) {
        MyFrame myFrame1=new MyFrame(100,100,200,200,Color.blue);
        MyFrame myFrame2=new MyFrame(300,100,200,200,Color.yellow);
        MyFrame myFrame3=new MyFrame(100,300,200,200,Color.red);
        MyFrame myFrame4=new MyFrame(300,300,200,200,Color.MAGENTA);
    }
}
​

面板Panel

可以看成是一个空间,但不能单独存在

复制代码
package YMP.GUI;
​
import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
​
public class TestPanel {
    public static void main(String[] args) {
        Frame frame=new Frame();
        Panel panel=new Panel();
​
        //布局概念
        frame.setLayout(null);
        //坐标
        frame.setBounds(300,300,500,500);
        //背景颜色
        frame.setBackground(new Color(40,161,35));
        //设置Panel相对与frame的坐标
        panel.setBounds(50,50,400,400);
        panel.setBackground(new Color(193,15,60));
​
        frame.add(panel);
        frame.setVisible(true);
​
        //监听事件,监听窗口关闭事件
        frame.addWindowListener(new WindowListener() {
​
​
            @Override
            public void windowOpened(WindowEvent e) {
​
            }
​
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
​
            @Override
            public void windowClosed(WindowEvent e) {
​
            }
​
            @Override
            public void windowIconified(WindowEvent e) {
​
            }
​
            @Override
            public void windowDeiconified(WindowEvent e) {
​
            }
​
            @Override
            public void windowActivated(WindowEvent e) {
​
            }
​
            @Override
            public void windowDeactivated(WindowEvent e) {
​
            }
​
​
        });
    }
}
​
相关推荐
未来之窗软件服务1 小时前
自己写算法(九)网页数字动画函数——东方仙盟化神期
前端·javascript·算法·仙盟创梦ide·东方仙盟·东方仙盟算法
程序员小凯1 小时前
Spring Boot测试框架详解
java·spring boot·后端
豐儀麟阁贵1 小时前
基本数据类型
java·算法
_extraordinary_1 小时前
Java SpringMVC(二) --- 响应,综合性练习
java·开发语言
你的人类朋友2 小时前
什么是断言?
前端·后端·安全
程序员 Harry2 小时前
深度解析:使用ZIP流式读取大型PPTX文件的最佳实践
java
FIN66683 小时前
昂瑞微:实现精准突破,攻坚射频“卡脖子”难题
前端·人工智能·安全·前端框架·信息与通信
椎4953 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
@。1243 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
我有一棵树3 小时前
前端图片加载失败、 img 出现裂图的原因全解析
前端