愷龍 发表于 2021-8-25 16:43:02

GUI-lesson1

本帖最后由 愷龍 于 2021-9-19 10:54 编辑

什么是 GUI 编程?
·       GUI: 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面,·       图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。·       Window 操作系统就是一个图形用户界面 (GUI) 操作系统我们平时操作的一些应用程序 比如说 QQ 微信的登陆页面 QQ 微信的聊天页面 英雄联盟的登陆页面 这些都是图形用户界面
GUI的核心以及组件
GUI 的核心:AWT 和 swing 两个 jar 包
关系:AWT 和 Swing 都是 java 中的包。
·       AWT (Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。·       Swing :为解决 AWT 存在的问题而新开发的图形界面包。Swing 是对 AWT 的改良和扩展。深度了解可参考:Java 中 AWT、Swing 与 SWT 三大 GUI 技术的原理与效率差异
GUI 的主要组成:容器 和 组件
容器:(container)
·       Windows·       窗口 Frame·       面板 Panel·       弹出框 Dialog等等……
组件:(component)

[*]输入框 TextArea (多行文本)
[*]输入框 TextFiled (单行文本)
[*]按钮 Button
[*]标签 Lable
等等……
Awt
容器Frame 窗口
Frame frame=new Frame("我的第一个窗口");   //Fram类的构造方法传进一个String类型的窗口 标题
Frame 中的常用方法:
frame.setVisble()   //boolean型参数调整窗口是否可视化
frame.setSize(width:int,height:int)//调整窗口的宽度和高度
frame.setLoaction(x:int,y:int)         //调整初始话窗口显示的位置
frame.setBackground(Color:color)   //调整窗口背景颜色需要穿进一个Color的对象
new Color(r:int,g:int,b:int) or new Color(rgb:int)//通过rgb调色调试想要的颜色
//RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化
//以及它们相互之间的叠加来得到各式各样的颜色
Color.green //绿色
Color.red //红色      public final static Color green = new Color(0, 255, 0);Color类中包含的对象 源码
//Color类中已经包含了很多 Color对象 这些对象已经调试好使用的大多数颜色,可以通过 Color. 来获取这些对象
frame.setResizable(Boolean)   //设置窗口大小是否可以被调整;
add 方法:
Frame frame=new Frame("我的第一个窗口");
frame.add(Component comp,Object constraints)//向Frame中添加组件 constraints为控件的布局位置
//Component 组件 组成部分|constraints约束条件

2.1AWT 介绍
https://z3.ax1x.com/2021/08/25/hVvQjx.png
2.2 组件和容器窗口


import java.awt.*;
public class TestFrame{
   public static void main(String[] args) {
       Frame frame = new Frame(" 我的第一个窗口");
       //设置可见性
       frame.setVisible(true);
       //设置窗口大小
       frame.setSize(400, 400);
       //设置背景颜色
       frame.setBackground(Color.red);
       //弹出的初始位置
       frame.setLocation(200, 200);
       //设置大小固定
       frame.setResizable(false);
   }
}

https://z3.ax1x.com/2021/08/25/hVv7aF.png

窗口无法关闭;停止 java 程序运行

多个窗口
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.pink);
      MyFrame myFrame3 = new MyFrame(100,300,200,200,Color.red);
      MyFrame myFrame4 = new MyFrame(300,300,200,200,Color.yellow);
    }
   
}
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);
      setBounds(x,y,w,h);
      setVisible(true);
    }
}

https://z3.ax1x.com/2021/08/25/hZPGQJ.png

窗口无法关闭;停止 java 程序运行
组件Button 按钮1.//创建按钮对象2.Button button =new Button(String : lable);//Butoon的构造方法传进一个String的值 设置按钮上显示的文本3.button.setActionCommand(String:Conmand);//设置按钮的别名   ActionCommand: 操作命令4.bu
TextField 单行输入框1.TextField t=new Textfield(int:columns);//创建一个单行文本框 columns 字符数 2.t.getText()   //获取输入框文本3.t.setEchoChar(String: text)   //设置输入时文本框的替换字符换成* 输入显示文字显示*https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif
页: [1]
查看完整版本: GUI-lesson1