JAVA--GUI

article/2025/10/31 23:02:33


AWT(Abstract WindowToolkit抽象视窗工具组)包括了很多类和接口,用于java.ApplicationGUI(Graphics User Interface图形用户界面)编程,GUI的各种元素(如:窗口,按钮,文本框等)由java类来实现。使用AWT所涉及的类一般在java.awt包及其子包中

Swing是一个为Java设计的GUI工具包。Swing是JAVA基础类的一部分。Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。

 

简单的说:

 

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

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

 

ContainerComponentAWT中的两个核心类


        


ComponentContainer


java的图形用户界面的最基本组成部分是ComponentComponent类及其子类的对象用来描述以图形化方式显示在屏幕上并能与用户进行交互的GUI元素,例如:一个按钮,一个标签等。

一般的Component对象不能独立的显示出来,必须将“放在”某一的Container对象中才可以显示出来

 

关系:


ContainerComponent子类,Container子类对象可以“容纳”别的Component对象,也可以被当做Component对象添加到其他Container对象中

Container对象可使用方法add()向其中添加其他Component对象

 

有两种常用的Container


1Window:其对象表示自由停泊的顶级窗口

2Panel:其对象可作为容纳其它Component对象,但不能独立存在,必须被添加到其他Container中(如WindowApplet

 

 

Frame

FrameWindow的子类,由Frame或其子类创建的对象为一个窗体

Frame的常用构造方法:

1Frame()

2Frame(String s)创建标题栏为字符串s的窗口


示例:

	import java.awt.*;public class TestMultiFrame{public static void main(String args[]){MyFrame f1=new MyFrame(100,100,200,200,Color.BLUE);MyFrame f2=new MyFrame(300,100,200,200,Color.YELLOW);MyFrame f3=new MyFrame(100,300,200,200,Color.GREEN);MyFrame f4=new MyFrame(300,300,200,200,Color.MAGENTA);}}class MyFrame extends Frame{static int id=0;MyFrame(int x,int y,int w,int h,Color color){super("MyFrame"+(++id));setBackground(color);setLayout(null);setBounds(x,y,w,h);setVisible(true);}}

 


Panel

Panel对象可以看成可以容纳Component的空间

Panel对象可以拥有自己的布局管理器


示例:

	import java.awt.*;public class TestMultiPanel{public static void main(String args[]){new MyFrame2("MyFrameWithPanel",300,300,400,300);}}class MyFrame2 extends Frame{private Panel p1,p2,p3,p4;MyFrame2(String s,int x,int y,int w,int h){super(s);setLayout(null);p1=new Panel(null);p2=new Panel(null);p3=new Panel(null);p4=new Panel(null);p1.setBounds(0,0,w/2,h/2);p2.setBounds(0,h/2,w/2,h/2);p3.setBounds(w/2,0,w/2,h/2);p4.setBounds(w/2,h/2,w/2,h/2);p1.setBackground(Color.blue);p2.setBackground(Color.green);p3.setBackground(Color.yellow);p4.setBackground(Color.magenta);add(p1);add(p2);add(p3);add(p4);setBounds(x,y,w,h);setVisible(true);}}




布局管理器:

 

java语言中,提供了布局管理器类的对象可以管理

1,管理ComponentContainer中的布局,不必直接设置Component位置和大小

2,每个Container都有一个布局管理器对象,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用相应的布局管理器,调用ContainersetLayout方法改变其布局管理器对象。

AWT提供了5种布局管理器类:
1FlowLayout

2BorderLayout

3GridLayout

4CardLayout

5GridBagLayout

 

 

FlowLayout布局管理器

1,是Panel类的默认布局管理器

2,此布局管理器对组件逐行定位,行内从左到右,一行排满后换行

3,不改变组件的大小,按组件原有尺寸显示组件,可设置不同的组件间距,行距以及对齐方式

4,默认的对齐方式是居中


示例:

import java.awt.*;
public class TestFlowLayout2{public static void main(String args[]){Frame f=new Frame("Java Frame");FlowLayout l=new FlowLayout(FlowLayout.CENTER,20,40);f.setLayout(l);f.setLocation(300,400);f.setSize(300,200);f.setBackground(new Color(204,204,255));for(int i=1;i<=7;i++){f.add(new Button("Button"));}f.setVisible(true);}}



BorderLayout布局管理器

1,是Frame类的默认布局管理器

2BorderLayout将整个容器的布局划分成,东(EAST),西(WEST),(SOUTH),(NORTH),(CENTER)五个区域,组件只能被添加到指定的区域

3,如不指定组件的加入部分,则默认加入到CENTER

4,每个区域只能加入一个组件,如加入多个,则先前加入的会被覆盖

5,缩放原则:北南两个区域在水平方向缩放,东西两个区域在垂直方向缩放,中部可在两个方向上缩放


示例:

import java.awt.*;
public class TestBorderLayout{public static void main(String args[]){Frame f;f=new Frame("Border Layout");Button bn=new Button("BN");Button bs=new Button("BS");Button bw=new Button("BW");Button be=new Button("BE");Button bc=new Button("BC");f.add(bn,BorderLayout.NORTH);f.add(bs,BorderLayout.SOUTH);f.add(bw,BorderLayout.WEST);f.add(be,BorderLayout.EAST);f.add(bc,BorderLayout.CENTER);f.setSize(200,200);f.setVisible(true);}
}




GridLayout布局管理器

1,此管理器将控件划分成规定的矩形网格,每个单元格区域大小相等。组件被添加到每个单元格中,先从左到右添满一行后换行,在从上到下


示例:

import java.awt.*;
public class TestGridLayout{public static void main(String args[]){Frame f=new Frame("GridLayout Example");Button b1=new Button("b1");Button b2=new Button("b2");Button b3=new Button("b3");Button b4=new Button("b4");f.setLayout(new GridLayout(3,2));f.add(b1);f.add(b2);f.add(b3);f.add(b4);f.pack();  //包起来f.setVisible(true);}
}



布局管理器总结:


1,Frame是一个顶级窗口,Frame的缺省布局管理器为BorderLayout

2,Panel无法单独显示,必须添加到某个容器中。Panel的缺省布局管理器为FlowLayout

3,当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以有自己的布局管理器

4,使用布局管理器时,布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件大小和位置属性,如果视图使用java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被布局管理器覆盖

5,如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:setLayout(null)


以上只是对GUI做了简单的介绍,让我们对它有个简单的理解,随着以后的学习不断深入!





http://chatgpt.dhexx.cn/article/FIGaDBcu.shtml

相关文章

JavaGUI------------常用的组件(标签、按钮)

目录 1.标签 2.按钮 1.标签 类&#xff1a;JLabel作用&#xff1a;显示文本或者提示信息 构造函数&#xff1a; new JLabel();new JLabel(Icon icon);//设置图标new JLabel(Icon icon&#xff0c;int aligment);//设置图标水平对齐方式new JLabel(String str&#xff0c;i…

javaGUI基础知识

*注: 作者使用的是 jdk1.8.0_121 版本,可根据下方链接进行下载 jdk1.8.0_121 64位 jdk1.8.0_131 32位 1.基础界面 Frame frame new Frame(); frame.setVisible(true);2.关闭按钮监听 frame.addWindowListener(new WindowAdapter(){Overridepublic void windowClosing(Windo…

Java GUI程序示例

Java GUI程序示例 与命令行界面相比&#xff0c;图形界面对于用户来说更为简便易用。图形用户界面&#xff08;Graphical User Interface&#xff0c;简称 GUI&#xff09;&#xff0c;关于Java图形用户界面&#xff0c;可参见 https://blog.csdn.net/cnds123/article/details…

JavaGUI界面实现跳转

页面跳转&#xff1a; 思路&#xff1a; 先定义一个类继承JFrame&#xff1b;定义要用的控件&#xff0c;再在构造方法中对定义的控件进行修改&#xff0c;后写出主函数&#xff0c;在主函数中调用构造方法。同理&#xff0c;在idea中&#xff0c;将需要跳转的几个界面置于同一…

JavaGUI显示表格(连接数据库)基础

文章目录 一、界面概览二、代码三、代码解释四、项目全部代码下载地址五、 项目代码说明六、功能更新&#xff1a;根据下拉单内容查询不同数据库6.1 界面概览6.2 用到的主要控件 七、其他相关博客7.1 <a href"https://blog.csdn.net/SKMIT/article/details/106676478&q…

Java-GUI简介

JavaSwing-GUI开发简介&#xff08;1&#xff09; 本期介绍一些GUI的基本知识&#xff0c;开发GUI程序的时候直接用windowbuilder生成框架&#xff0c;傻瓜式拖拽就行&#xff0c;非常简单。 一、布局管理器 1.1:FlowLayout(流式布局) 1.2:GridLayout(网格布局) 1.3:Grid…

Java:GUI编程

文章目录 GUI编程AWT一、AWT介绍二、组件和容器(Component和Container)2.1.Frame2.2.Panel 三、布局管理器3.1.第一种布局管理器——FlowLayout3.2.第二种布局管理器——BorderLayout3.3.第三种布局管理器——GridLayout&#xff08;表格布局管理器&#xff09;3.4.布局练习 四…

Java GUI编程

GUI&#xff08;Graphical User Interface&#xff09;即图形用户界面&#xff0c;它能够使应用程序看上去更加友好。 Swing概述 Swing是纯Java组件&#xff0c;使得应用程序在不同的平台上运行时具有相同外观和相同的行为。 Swing中的大部分组件类位于javax.swing包中。 Sw…

Java GUI入门教程

人生的烦恼&#xff0c;多在于知道的太多&#xff0c;而做的太少。 Java程序中开发GUI页面。下面我主要对Java中实现图像管理、图形绘制和颜色管理等做出介绍&#xff0c;与此同时&#xff0c;Swing包也做出一部分介绍。 像素与坐标 用于表示图像像素数目的称为图像分辨率。显…

【JAVA】GUI编程

GUI的概念 Swing概述 容器组件 布局管理器 常用组件 事件处理 对话框 GUI的概念 GUI&#xff08;Graphical User Interface&#xff09;即图形用户界面&#xff0c;它能够使应用程序使用起来更加便捷&#xff0c;看上去更加友好。 Swing概述 Swing是纯Java组件&#xff0c;使得…

Java--GUI编程

目录 GUI的概念 Swing概述 ​编辑 容器组件 布局管理器 常用组件 对话框 内部类 GUI的概念 GUI&#xff08;Graphics User Interface&#xff09;&#xff0c;图形用户界面&#xff0c;是指采用图形方式显示的计算机操作用户界面&#xff0c;是计算机与其使用者之间的…

GUI编程(java)

1 GUI的概念 GUI&#xff08;Graphical User Interface&#xff09;即图形用户界面&#xff0c;它能够使应用程序看上去更加友好&#xff0c;更加方便用户操作。 2 Swing概述 Swing是纯Java组件&#xff0c;使得应用程序在不同的平台上运行时具有相同外观和相同的行为&#x…

Java GUI 开发

Swing图形用户界面 GUI 图形用户界面&#xff08;Graphical User Interface&#xff0c;简称 GUI&#xff0c;又称图形用户接口&#xff09;是指采用图形方式显示的计算机操作用户界面&#xff0c;包括窗口、菜单、按钮等各种屏幕组件。 Swing Swing是JAVA的一个GUI工具包&a…

GUI (java)

GUI 一.GUI概念二.Swing概述三.容器组件四.常用容器1.窗体(1) JFrame类的构造方法(2) JFrame类的常用方法 2.面板(1)JPanel类的构造方法(2)JPanel类的常用方法 五.布局管理器1. FlowLayout 流式布局(1)FlowLayout构造方法 2.BorderLayout 边界布局3.GridLayout 网格布局 六.常用…

javaGUI

GUI 1.GUI的概念&#xff1a; GUI&#xff08;Graphical User Interface&#xff09;即图形用户界面&#xff0c;它能够使应用程序看上去更加友好&#xff1b; 2.Swing概述&#xff1a; Swing是纯Java组件&#xff0c;使得应用程序在不同的平台上运行时具有相同外观和相同的行…

GUI(java)

GUI基本介绍&#xff1a; 1.GUI是什么&#xff1f; GUI的全称为Graphical User Interface&#xff0c;图形化界面或图形用户接口&#xff0c;是指采用图形方式显示 的计算机操作环境用户接口。与早期计算机使用的命令行界面相比&#xff0c;图形界面对于用户来说更为简 便易用。…

Java中的GUI

记录Java中的GUI知识&#xff0c;Java中的GUI相关编程思想是需要我们去理解和掌握的。最好可以使用基础的swing组件去构建出界面。完整记录使用swing组件进行登录页面开发&#xff0c;提供完整代码 文章目录 前言一、swing组件二、swing组件的使用1.窗口2.面板 三、swing组件的…

Java之GUI简单介绍

GUI介绍&#xff08;一&#xff09;常见的组件及简单监听器 第一个窗口程序容器控件JLabel控件简单事件处理文本框JTextFiled复选框JCheckBox下拉列表JComboBox布局管理器LayoutManager边界布局管理器BorderLayout手工布局 前段时间学了GUI&#xff0c;总体上概念还是有点模糊&…

JAVA GUI(图形用户界面)

1.GUI概述 目前,我们编写的程序都是基于控制台的程序GUI&#xff08;Graphical User Interface&#xff09;即图形用户界面&#xff0c;它能够使应用程序看上去更加友好 2.Swing概念 位于javax.swingSwing是纯java组件,使得应用在不同平台中有相同的外观和行为 3.什么是组件,…

Java——GUI(图形用户界面)

学习目标&#xff1a; 1、掌握布局管理器、AWT事件处理机制以及常用事件 2、熟悉Swing组件的使用 3、了解GUI开发的相关原理和技巧 GUI全称是GraphicalUser Interface&#xff0c;即图形用户界面。顾名思义&#xff0c;就是应用程序提供给用户操作的图形界面&#xff0c;包括…