GUI学习 1

GUI编程

1 . 简介

GUI即图形用户界面

学习GUI有以下几点作用

  • 编写一些小的工具
  • 工作时期可能需要维护Swing界面
  • 了解MVC架构和监听

Java GUI基本已经淘汰很少用到

核心技术 AWT 以及 Swing

实例

IDEA Eclipse 都是Java GUI 编写的

Minecraft 等游戏

一些外挂程序 破解程序


2.AWT

2.1AWT介绍

AWT(抽象的窗口工具)

  1. 包含很多类和接口
  2. 元素:窗口 , 按钮 ,文本框等
  3. 包含在 java.awt包中

2.2核心类

类图

2.3组件和容器

import java.awt.*;
public class AwtTest {
    public static void main(String[] args) {
        Frame frame = new Frame("我的第一个图形窗口");
        frame.setVisible(true);//设置窗口是否可见
        frame.setSize(1024,768);
            Color ns =new Color(22, 87, 106);
           frame.setBackground(ns);//设置背景 传入参数为color类的一个对象

        frame.setLocation(300,400); // 设置初始位置
        frame.setResizable(false);// 设置窗口大小是否可以改变 false不可变 true 可变
    }
}


  • Panel

import java.awt.*;
public class PanelTest {
    public static void main(String[] args) {
            //Panel(面板)是一个空间 , 但不能够单独存在 必须放入容器中
        Frame frame = new Frame("PanelTest");
        Panel panel = new Panel();
        /*public Panel() {
            this(new FlowLayout()); // FlowLayout 流布局
        }*/
        frame.setLayout(null);//不设定布局的话,结果不同
        frame.setSize(1024,768);
        panel.setBackground(Color.GRAY);
        frame.add(panel);//add方法中传入的参数为 component类的一个对象, pannel继承container , container继承component
        frame.setBackground(Color.DARK_GRAY);
        panel.setSize(128,768);
        frame.setVisible(true);
        frame.setResizable(false);
        panel.setLocation(0,0);
        panel.setVisible(true);
		frame.addWindowListener(new WindowAdapter() { //适配器模式    添加监听事件
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);                   // 点击窗口关闭时程序的动作
            }
        });

    }
}

当去掉frame.setLayout(null);这一语句时结果截图为

image-20201015152107787

整个窗口显示panel对象设定的颜色

加上该语句后

image-20201015152159443

Listener 为各种监听事件,通过监听程序输入的不同动作,做出相应的反应


posted @ 2020-10-14 23:23  星白  阅读(101)  评论(0)    收藏  举报