GUI界面实现小学生口算题卡功能(一)| 简要了解GUI

发布时间 2023-11-16 15:33:43作者: 喝着农药吐泡泡o

上课没认真听,下课不好好写。

关于GUI,首先了解了一下什么是GUI:

GUI(Graphical User Interface),图形用户界面。采用图形方式显示的计算机操作用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更容易接受。GUI和CLI(命令行界面)最大的不同是,GUI引入鼠标作为输入源(后期又以触屏为输入),这使得GUI的交互成为可能。

其次了解,图形化界面GUI实现的几个重要组件

 

1.JFrame 是容器类

Java的GUI程序的基本思路是以JFrame为基础,他是屏幕上windows的对象,能够最大化,最小化,关闭。

JFrame是一个顶层的框架类,好比一个窗户的框子,这个框子可以嵌入多个玻璃窗

1、构造窗体对象

2、设置窗体外观属性

3、设置窗体可见

 

对JFrame添加组件有两种方式:

1、用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)
2、建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板

JPanel  contentPane=new  JPanel();//把其它组件添加到Jpanel中; 
frame.setContentPane(contentPane);//把contentPane对象设置成为frame的内容面板

常用方法

void add(Component):添加组件。
void add(Component,int):添加组件至索引指定位置。
void add(Component,Object):按照指定布局限制添加组件。
void add(Component,Object,int):按照指定布局管理器限制添加组件到指定位置。
void remove(Component):移除组件。
void remove(int):移除指定位置的组件。
void removeAll():移除所有组件。
void paintComponent(Graphics):绘制组件。``
void repaint():重新绘制。
void setPreferredSize(Dimension):设置组件尺寸。
Dimension getPreferredSize():获取最佳尺寸。

 

2.AWT 是抽象窗口组件工具包,是 Java 最早的用于编写图形节目应用程序的开发包。

 

AWT是用来处理图形最基本的方式,AWT包提供:

1、图形界面组件:窗口,按钮,菜单等

2、容器:实现组件管理,布局管理

3、布局管理器:用来安排图形界面组件的位置

4、Graphics:在组件上进行图像绘制所使用的图形环境的父类

事件处理对象:用来处理图形界面组件所触发的事件

//引入AWT包中的所有类
import java.awt.*;

3.Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。

AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上则可能不存在,为此AWT不得不通过牺牲功能来实现平台无关性。

不仅如此,AWT还是一个重量级组件,使用比较麻烦,且设计出的图形界面不够美观功能也非常有限。为此,Sun公司对AWT进行改进,提出了Swing组件,提供了更加丰富的组件和功能,来满足GUI设计的一切需求。

Swing是JAVA基础类的一部分,包括了图形用户器件:文本框、按钮、分割窗格、表。需要注意的是,Swing并不是AWT的替代品,而是在原有的AWT的基础上进行了补充和改进。

 三者之间的关系

JFrame、AWT(Abstract Window Toolkit)和Swing都是与Java图形用户界面(GUI)编程相关的概念和工具。

  1. AWT(Abstract Window Toolkit)

    • AWT是Java最早的GUI工具包,提供了一组与平台相关的类,用于创建和管理GUI组件,如窗口、按钮、文本框等。
    • AWT的组件是对底层操作系统窗口的简单封装,因此它们的外观和感觉取决于底层操作系统。
  2. Swing

    • Swing是在AWT之上构建的一套GUI工具包,提供了更丰富、更灵活、更独立于平台的组件。
    • Swing组件是由Java代码实现的,而不是直接使用底层操作系统的GUI组件。这使得Swing应用程序在不同平台上具有更一致的外观和感觉。
  3. JFrame

    • JFrame是Swing库中的一个类,它是一个顶级容器,用于创建窗口。
    • JFrame继承自AWT的Frame类,但它提供了更多的功能和更丰富的选项,使得窗口的创建和管理变得更加灵活和方便。

在关系上:

  • AWT是Java的最初的GUI工具包,提供了一些基本的GUI组件。
  • Swing是建立在AWT之上的,提供了更丰富和独立于平台的GUI组件。
  • JFrame是Swing库中用于创建窗口的一个类,它扩展了AWT的Frame类。因此,JFrame可以看作是Swing中用于创建窗口的一种工具。