GUI编程

什么是GUI???图形化编程

组件

  • 窗口
  • 弹窗
  • 按钮
  • 文本框
  • 图片
  • 事件
  • .....

GUI的核心:AWT Swing

GUI编程的缺陷:

​ 1.界面不美观

​ 2.需要jre环境

虽然GUI编程已经快接近淘汰了,但我们要学习其中的MVC架构的思想

1.AWT介绍

AWT:abstract windows tools

​ 1.包含很多类和窗口

​ 2.包含很多组件:按钮、文本框、窗口

2.第一个Frame窗口

在Java中可以通过Frame类创建一个Frame窗口

import java.awt.*;

3.简单创建一个Frame窗口

import java.awt.*;

public class DemoWindows {

    public static void main(String[] args){

        Frame frame = new Frame("First");

        //设置窗口可视
frame.setVisible(true); //设置窗口颜色
frame.setBackground(new Color(120, 61, 61)); //设置窗口不可拉伸
frame.setResizable(false); //设置窗口大小
frame.setSize(200,200); //设置窗口位置
frame.setLocation(200,200); } }

根据上述代码可以发现窗口关闭不了除非停止Java程序,此操作将在后续提到

4.Panel面板

面板不能单独存在!!!

通过Panel类可以创建一个面板,设置其面板大小、面板颜色、面板在窗口中的位置等,后续可以讲其他组件添加进入面板中,再将面板添加到窗口中

以下代码将提前预习监听事件,将窗口可关闭功能加入其中

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class TestPanel {
public static void main(String[] args){ //创建一个panel面板
Panel panel = new Panel(); //创建一个frame窗口
Frame frame = new Frame("PanelTest"); //设置窗口属性
frame.setLayout(null); // 设置布局为null
frame.setBounds(200,200,500,500);
frame.setBackground(new Color(200,100,100)); //设置面板属性
panel.setBounds(100,100,300,300);
panel.setBackground(Color.GRAY);
//panel.setVisible(true); 可设置可不设置 //在窗口中添加一个面板
frame.add(panel);
frame.setVisible(true);
frame.setResizable(false); //编写关闭窗口事件
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(0); //退出程序
}
});
}
}

JAVA入门学习之GUI编程思想——day01的更多相关文章

  1. java基础学习总结——GUI编程(一)

    一.AWT介绍

  2. java基础学习总结——GUI编程(一) 还未仔细阅读

    一.AWT介绍

  3. java基础学习总结——GUI编程(二)

    一.事件监听

  4. java基础学习总结——GUI编程(二) 未学习

    一.事件监听

  5. 关于Java、Python、Go编程思想的不同

    Go学习笔记 - 关于Java.Python.Go编程思想的不同 看了两周七牛团队翻译的<Go语言程序设计>,基本上领略到了Go语言的魅力.学习一个语言,语法什么的任何人都是很容易学会,难 ...

  6. Java入门学习路线目录索引

    原创 Java入门学习路线目录索引 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/One_ ...

  7. java入门学习(1)一简介及其基础特点

    分类: java基础 1.为什么java如此流行,为什么历史选择了它? 因为它拥有全新的编程思想,更接近人们的语言习惯,由于其编译器把代码编译成字节码,然后再不同的平台上运行分别用不同的虚拟机去解释字 ...

  8. Java入门学习知识点汇总

    Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...

  9. Go学习笔记 - 关于Java、Python、Go编程思想的不同

    ***看了两周七牛团队翻译的<Go语言程序设计>,基本上领略到了Go语言的魅力.学习一个语言,语法什么的任何人都是很容易学会,难就难在充分领略到这门编程语言的思想.*** ## 面向对象 ...

  10. java入门--学习地址

    发现java很多地方都在用,纠结很久该学python还是java. 目前先已python为主,java可以有初步了解能看懂代码就行. --------------------------------- ...

随机推荐

  1. java字符串与json互转

    开发中经常遇到将字符串转成json和字符串转成json属组的方法,网上搜到的方法,好多都是不好用的,今天这里记录一下方便自己今后查看,也提供给需要的人. 依赖: <!-- 处理json --&g ...

  2. 引入阿里在线图标(微信小程序)

    https://www.bilibili.com/video/BV1WJ41197sD?p=49

  3. 05-Shell索引数组变量

    1.介绍 Shell 支持数组(Array),数组是若干数据的集合,其中的每一份数据都称为数组的元素. 注意Bash Shell 只支持一维数组,不支持多维数组. 2.数组的定义 2.1 语法 在 S ...

  4. Redis不同版本性能研究

    Redis不同版本性能研究 背景 前期同事遇到了一个大key的慢查询. 前提条件是: 一个 60万key的环境里面. 有一个 260万元素的set类型的key 产品经常会进行 smember key ...

  5. [转帖]058、集群优化之PD

    PD调度基本概念 调度流程 调度中还有这还缺来了merge,例如合并空region. store: 基本信息,容量,剩余空间,读写流量等 region: 范围,副本分布,副本状态,数据量,读写流量等 ...

  6. [转帖]针对容器的nginx优化

    针对容器的nginx优化 本篇文章介绍了 Nginx 在容器内使用遇到的CPU核数获取问题以及对应的解决方法. 回顾上篇文章:TCP 半连接队列和全连接队列 背景 容器技术越来越普遍,很多公司已经将容 ...

  7. [转帖]SQL Server数据库存储总结

    SQL Server数据库存储文件类型:数据文件和日志文件.数据文件以页面作为存储单元存储数据. 页面:即数据页面,数据页(Page).是系统在磁盘间中分配的一段大小为8k的连续空间. 文件头(Fil ...

  8. [转帖]字节跳动开源 Shmipc:基于共享内存的高性能 IPC

    https://maimai.cn/article/detail?fid=1780832041&efid=WeW8ji-LiPaXA8QER_Q1YQ 简介 CloudWeGo - Shmip ...

  9. systemctl 关闭图形界面的办法

    开机以命令模式启动,执行: systemctl set-default multi-user.target   开机以图形界面启动,执行: systemctl set-default graphica ...

  10. K8S 使用loki 监控 应用日志的搭建办法

    1. 背景 这几天一直在用k8s部署分SU的测试环境,开发反馈看日志比较麻烦. 昨天晚上在家里本来想搭建ELK 发现比较重, 又说有一个比较轻量级的 loki 可以实现使用grafana进行监控和查看 ...