当前位置: 代码迷 >> 综合 >> JavaGUI 01 GUI简介
  详细解决方案

JavaGUI 01 GUI简介

热度:29   发布时间:2023-11-24 14:04:28.0

1.1 GUI 编程


就是写桌面程序,可视化的窗口!在早些年是非常非常重要的,因为那个时候还没有手机,也没有什么网页的管理系统,服务器端也不是太发达。甚至还大量的缺乏 PC端的软件。所以早些年的程序员,你会发现都在写 GUI 的可视化窗口程序。然而随着时代的发展,PC端软件逐渐的趋于饱和,人们对手机的使用越来越频繁和重要,服务器端也越来越发达,网页也不再是我们那时候落后的样子。这使得 GUI编程开始落寞!甚至是完全淡出了我们的世界。


GUI 编程真的就不需要学习了吗?不是的!你要知道我们程序员大多数是在和电脑打交道的,一些工作人士其实,现在大多数也都是在和电脑打交道的。所以GUI 编程只是应用的面小了而已,不再那么受大众的喜爱,而是 特别的会供给 一些工作人员!而且,我们 程序员在开发一些东西的时候,如果实现了一些很重要的功能,我们难道就写一个黑底白字的控制台把它封装起来吗??当然是写成窗口程序,图形界面。这样我们自己操作起来也方便,更方便了他人!

GUI 编程并非没用!它还是MVC架构的基础! 退一万步来讲,你身为一名程序员,居然连窗口程序都不会写!难道大家在学习计算机编程的时候,没有梦想过写一个窗口程序吗?(小声bb:~ 而不是那 sb 的黑底白字 ~)


1.1.1 GUI 简介

  • 图形界面程序,一般由各种组件拼接而成
  1. 窗口(整个程序的主体)
  2. 弹窗(信息框,提示信息的)
  3. 面板(分组框,可以进行一块区域的分组)
  4. 文本框
  5. 列表框(大量数据的加载和显示)
  6. 按钮
  7. 图片(显示图片)
  8. 事件(监听事件、鼠标键盘事件、等等)
    事件可是 GUI 编程的核心所在!没有了事件就相当于没有了灵魂!



    题外话:现在写外挂的人,都用 Java去写,因为 检测的时候,会先检测到你的 JVM 虚拟机,而 用C/C++去写直接就检测了。
  • AWT
  1. AWT是基于本地方法的C/C++程序,其运行速度比较快.
  2. AWT的控件在不同的平台可能表现不同.
  3. AWT的图形函数与操作系统提供的图形函数有着一一对应的关系(例如:直接调用Win32API
  4. AWT是抽象窗口组件工具包,是 Java 最早的用于编写图形界面应用程序的开发包。


常用环境:对于一个嵌入式应用,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。
在这种矛盾的情况下,简单而高效的AWT当然成了嵌入式Java的第一选择。

  • Swing
  1. Swing是基于AWT的Java程序,其运行速度比较慢。
  2. Swing在所有平台的表现是一致的。
  3. Swing 不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充。
  4. Swing是为了解决AWT存在的问题而重新开发的包,它以AWT为基础并修复了AWT的问题还对其进行了扩充。


常用环境:在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素。所以在标准版的Java中则提倡使用Swing, 即通过牺牲速度来实现应用程序的功能。

Java GUI 核心技术:Swing AWT,因为界面不美观,还需要 JRE环境,所以在早期的时候 没几个人 用 Java 去写 GUI 程序。

  • 为什么我们还要学习!

在前面就已经讨论过这个问题,但我怀疑你没有看!

  1. 可以写出自己心中想要的小工具
  2. 工作的时候,也可能需要维护到swing界面,概率虽然很小。
  3. 了解 MVC 架构,了解监听!(为什么无论写什么程序,系统总能够帮我实时进行正确的操作?这其实就是监听的魅力,如果不一直监听的话,谁知道你干了什么?程序怎么又能够正确执行呢?)

在这里插入图片描述