鱼C论坛

 找回密码
 立即注册
查看: 3223|回复: 0

[学习笔记] GUI-lesson1

[复制链接]
发表于 2021-8-25 16:43:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 愷龍 于 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 介绍

                               
登录/注册后可看大图

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);
   }
}

                               
登录/注册后可看大图


窗口无法关闭;停止 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);
    }
}

                               
登录/注册后可看大图


窗口无法关闭;停止 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)   //设置输入时文本框的替换字符  换成* 输入显示文字显示*

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 18:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表