IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> GUI基础 -> 正文阅读

[开发测试]GUI基础

GUI编程

组件(Component)

  • 窗口(Frame)

  • 弹窗(Dialog)

  • 面板(Panel)

  • 文本框(TextArea)

  • 列表框

  • 按钮(button)

  • 图片

  • 监听事件

  • 鼠标

  • 键盘事件

  • 破解工具

简介

Gui的核心技术:Swing AWT

1.因为界面不美观

2.需要jre环境

MVC基础

可以写出自己心中想要的一些小工具

可能要维护到swing界面,概率极小

了解MVC架构,了解监听

AWT

包含了很多的类和接口! GUI:图型用户界面

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

java.awt

// GUI的第一个界面
public class Gui {
    public static void main(String[] args) {
        //Frame
        Frame frame =new Frame("我的第一个java图像界面窗口");
        //需要设置可见性
        frame.setVisible(true);
        //设置窗口大小
        frame.setSize(400,400);
        //设置背景颜色 Color
        frame.setBackground(new Color(86, 229, 197));
        //弹出的初始位置
        frame.setLocation(200,200);
        //设置大小固定
        frame.setResizable(false);
    }

}

//开启多个窗口
public class GUI01 {
    public static void main(String[] args) {
        //展示多个窗口new
        MyFrame frame1 = new MyFrame(100,100,200,200,Color.blue);
        MyFrame frame2 = new MyFrame(300,100,200,200,Color.blue);
        MyFrame frame3 = new MyFrame(100,300,200,200,Color.blue);
        MyFrame frame4 = new MyFrame(300,300,200,200,Color.blue);
    }
    static class MyFrame extends Frame{
        static int id = 0;//计数
        public MyFrame(int x,int y,int w,int h,Color color){
            super("Myframe"+(++id));
            setBackground(color);
            setVisible(true);
            setBounds(x,y,w,h);
        }
    }
}

监视器

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

//Panel 可以看成是一个空间,但是不能单独存在
public class TestPanle {
    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(124, 250, 0));
        //panel设置,相对于Frame
        panel.setBounds(50,50,400,400);
        panel.setBackground(new Color(0xFF0016));
        //frame.add()
        frame.add(panel);
        frame.setVisible(true);

        //监听事件,窗口关闭 System.exit(0)
        //适配器模式:
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        }

        );

    }
}

布局管理器

import java.awt.*;

public class GUI02 {
    public static void main(String[] args) {
        Frame frame = new Frame();
        //组件-按钮
        Button button1 = new Button("button1");
        Button button2 = new Button("button2");
        Button button3 = new Button("button3");
        //设置为流式布局
        frame.setLayout(new FlowLayout(FlowLayout.LEFT));
        frame.setSize(200,200);
        //把按钮添加上去
        frame.add(button1);
        frame.add(button2);
        frame.add(button3);
        frame.setVisible(true);
    }
}

东西南北中

import java.awt.*;

public class TestBorderlayout {
    public static void main(String[] args) {
        Frame frame = new Frame();
        Button button1= new Button("East");
        Button button2= new Button("West");
        Button button3= new Button("South");
        Button button4= new Button("North");
        Button button5= new Button("Center");
        frame.add(button1,BorderLayout.EAST);
        frame.add(button2,BorderLayout.WEST);
        frame.add(button3,BorderLayout.SOUTH);
        frame.add(button4,BorderLayout.NORTH);
        frame.add(button5,BorderLayout.CENTER);
        frame.setSize(200,200);
        frame.setVisible(true);

    }
}

表格布局 Grid

frame.setLayout(new GridLayout(3,2)); 三行两列

构思80% 代码20%

import java.awt.*;
import java.lang.management.BufferPoolMXBean;

public class work01 {
    public static void main(String[] args) {
        Frame frame = new Frame("work01");
        frame.setLayout((new GridLayout(2,1)));
        Button button1 = new Button("Button1");
        Button button2 = new Button("Button2");
        Button button3 = new Button("Button3");
        Button button4 = new Button("Button4");
        Button button5 = new Button("Button5");
        Button button6 = new Button("Button6");
        Button button7 = new Button("Button7");
        Button button8 = new Button("Button8");
        Button button9 = new Button("Button9");
        Button button10 = new Button("Button10");
        Panel panel1 = new Panel(new BorderLayout());
        Panel panel2 = new Panel(new GridLayout(2,2));
        Panel panel3 = new Panel(new BorderLayout());
        Panel panel4 = new Panel(new GridLayout(2,2));
        panel1.add(button1,BorderLayout.WEST);
        panel1.add(button2,BorderLayout.EAST);
        panel2.add(button3);
        panel2.add(button4);
        panel1.add(panel2,BorderLayout.CENTER);
        panel3.add(button5,BorderLayout.EAST);
        panel3.add(button6,BorderLayout.WEST);
        panel4.add(button7);
        panel4.add(button8);
        panel4.add(button9);
        panel4.add(button10);
        panel3.add(panel4,BorderLayout.CENTER);
        frame.add(panel1);
        frame.add(panel3);
        frame.setSize(500,500);
        frame.setVisible(true);
        

    }
}

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:59:40  更:2021-08-23 17:01:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 11:59:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码