GUI基础与布局管理
- 格式:ppt
- 大小:691.00 KB
- 文档页数:14
PythonGUI之tkinter布局管理所谓布局,就是指控制窗体容器中各个控件(组件)的位置关系。
tkinter 共有三种几何布局管理器,分别是:pack布局,grid布局,place布局。
pack布局使用pack布局,将向容器中添加组件,第一个添加的组件在最上方,然后是依次向下添加。
from tkinter import *root = Tk()#创建三个 Label 分别添加到root窗体中#Label是一种用来显示文字或者图片的组件Label(root,text = 'pack1',bg = 'red').pack()Label(root, text = 'pack2', bg = 'blue').pack()Label(root, text = 'pack3', bg = 'green').pack()root.mainloop()如图:###pack常用属性属性名属性简析取值取值说明fill 设置组件是否向水平或垂直方向填充X、Y、BOTH 和NONEfill = X(水平方向填充)fill = Y(垂直方向填充)fill = BOTH(水平和垂直)NONE 不填充expand 设置组件是否展开,当值为YES时,side选项无效。
组件显示在父容器中心位置;若fill选项为BOTH,则填充父组件的剩余空间。
默认为不展开YES 、NO(1、0)expand=YES expand=NOside 设置组件的对齐方式LEFT、TOP、RIGHT、BOTTOM值为左、上、右、下ipadx、ipady 设置x方向(或者y方向)内部间隙(子组件之间的间隔)可设置数值,默认是0非负整数,单位为像素padx、pady 设置x方向(或者y方向)外部间隙(与之并列的组件之间的间隔)可设置数值,默认是0非负整数,单位为像素anchor 锚选项,当可用空间大于所需求的尺寸时,决定组件被放置于容器的何处N、E、S、W、NW、NE、SW、SE、CENTER(默认值为CENTER)表示八个方向以及中心注意:上表中取值都是常量,YES等价于"yes",亦可以直接传入字符串值。
gui规范GUI规范是指在图形用户界面(Graphical User Interface)设计中遵循的一套规则和准则,旨在提供一致、直观、易用的用户体验。
以下是一份关于GUI规范的1000字说明。
一、用户界面的文件结构和布局:1. 使用模块化的结构,将界面划分为可重用的组件,提高开发效率和界面一致性。
2. 使用合理的布局方式,如网格布局、层叠布局等,以确保界面的可读性和可导航性。
二、界面元素的设计和使用:1. 使用简洁、直观的图标和按钮,以便用户快速识别并执行操作。
2. 避免使用过多的颜色、字体样式和动画效果,避免视觉混乱。
3. 使用标准化的元素,如标签、文本框、下拉框等,以提高用户的熟悉度和可操作性。
4. 为每个界面元素提供适当的提示和帮助信息,以减少用户的迷惑和错误操作。
三、用户输入和交互操作:1. 对用户的输入进行验证和提示,确保输入的准确性和合法性。
2. 提供合理的输入方式和格式,如日期选择器、数字输入框等,以提高用户的输入效率和准确性。
3. 提供撤销和重做的功能,以便用户可以更好地控制和调整操作。
4. 对于涉及重要操作的按钮和链接,使用二次确认对话框,以防止用户误操作。
四、界面的导航和搜索:1. 使用简洁明了的导航结构,如菜单栏、侧边栏等,帮助用户快速查找所需功能和页面。
2. 在搜索功能中提供自动完成、搜索建议等辅助功能,以提高用户的搜索效率和准确性。
3. 提供面包屑导航,显示用户当前的位置和路径,以便用户快速返回或切换到其他页面。
五、界面的反馈和响应:1. 提供即时的反馈,如进度条、加载动画等,告知用户操作的进展和结果。
2. 对于用户的错误操作,提供明确的错误提示和建议,以指导用户如何纠正错误。
3. 响应用户的操作,如点击、滚动等,及时更新界面,提高用户的操作流畅度和体验。
六、界面的可访问性和多语言支持:1. 遵循无障碍设计原则,确保界面对于视觉、听觉等残障用户的可访问性。
2. 提供多语言支持,以便用户可以在自己熟悉的语言环境下使用界面。
目前,大多数软件都是图形用户界面(Graphics User Interface, 简称GUI)的,并且程序的运行是靠事件驱动(event-driven) 的。
这样的应用程序可以使用户很方便地与程序进行交互。
本章主要介绍使用Java开发图形用户界面程序的方法,其中包括容器和布局管理器,另外还将介绍Java小程序的开发以及图形绘制等内容。
Java GUI基础1.1 概述图1就是一个图形用户界面的应用程序,其中包含的图形界面元素有窗口、菜单、工具栏、按钮、选项卡等。
该程序是JDK自带的演示程序,通过运行jdk_install\demo\jfc\swingset2.html或jdk_install \demo\jfc\SwingSet2\SwingSet2.jar程序可以得到该界面,这里jdk_install是JDK的安装目录。
图1 GUI演示程序在Java 1.2之前,Java提供了一个AWT类库,Sun把它叫做抽象窗口工具箱(Abstract Window Toolkit, 简称AWT) 。
为了开发GUI程序,程序员需要使用该库中有关的类,它为程序员提供了构建GUI程序的组件,如Frame、Button、Label等。
这些组件是通过java.awt 包提供的。
AWT最初是为设计小应用程序界面而开发的。
由于AWT存在严重缺陷,Sun从Java 1.2 版开始提供了一个新的组件库Swing。
Swing可以说是第二代GUI开发工具集,它是通过javax.swing包提供的,javax.swing包也是Java基础类库(Java Foundation Classes,JFC)的组成部分。
由于Swing组件比AWT组件有许多优点,所以新开发的程序应该使用Swing 组件而不应该再使用AWT组件。
但是,要注意Swing组件并没有完全取代AWT,它只是替代了AWT包中的图形用户界面组件(如Button、TextFiels、TextArea等),AWT中的一些辅助类(如Graphics、Color、Font、LayoutManager等)仍然保持不变。
Java中的GUI界面设计和事件处理入门一、引言Java是一种面向对象的编程语言,具有广泛的应用领域。
在软件开发过程中,GUI界面设计和事件处理是非常重要的一部分。
本文将介绍Java中的GUI界面设计和事件处理的入门知识,以帮助读者了解和掌握这方面的技术。
二、GUI界面设计基础GUI(Graphical User Interface,图形用户界面)是指通过图形、图像和动画等方式来显示信息,提供用户与计算机之间的交互。
在Java中,可以使用Swing和JavaFX等库来进行GUI界面设计。
1. 布局管理器在GUI界面设计中,布局管理器用于管理组件的布局方式。
Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和GridBagLayout等。
使用不同的布局管理器可以实现不同的界面布局效果。
2. 组件组件是GUI界面的基本元素,可以是按钮、文本框、标签、列表框等。
在Java中,可以使用JButton、JTextField、JLabel和JList等类来创建各种组件。
可以设置组件的属性,如大小、位置和样式等。
3. 事件监听器事件监听器用于捕捉用户操作产生的事件,并做出相应的处理。
在Java中,可以使用addActionListener()方法为组件添加监听器,响应用户的点击事件。
事件监听器可以以匿名内部类的形式实现,也可以作为单独的类来处理。
三、GUI界面设计实例下面以一个简单的登录界面为例,介绍如何使用Java中的GUI 界面设计来创建一个具有交互功能的窗体。
1. 导入必要的类库首先需要导入javax.swing和java.awt等类库,以便使用其中的类和方法。
2. 创建窗体可以通过继承JFrame类来创建一个窗体对象,然后设置窗体的标题、大小和关闭方式等属性。
3. 添加组件可以使用JLabel、JTextField和JButton等组件类来创建对应的界面元素,并设置它们的属性和布局。
Python GUI编程入门指南Python GUI编程是指使用Python语言进行图形用户界面(GUI)开发的过程。
通过GUI,用户可以通过鼠标、键盘和其他输入设备与程序进行交互,使程序更加友好和易于使用。
本文将引导读者了解Python GUI编程的基础知识和入门指南。
一、Python GUI编程的重要性和应用领域Python GUI编程在现代软件开发中扮演着重要角色。
它广泛应用于图像处理、数据可视化、游戏开发、桌面应用程序和移动应用程序等领域。
Python具有简单易用的语法和丰富的第三方库,例如Tkinter、PyQt、wxPython等,使得开发GUI变得简单和高效。
二、Python GUI编程的基础知识1. Tkinter库:Tkinter是Python的标准GUI库,包括了创建窗口和各种GUI元素的类和方法。
可以通过以下代码导入Tkinter库:```pythonimport tkinter as tk```2. 创建窗口:通过Tkinter库提供的Tk类可以创建一个窗口,例如:```pythonroot = ()```3. GUI元素:在Tkinter中,各种GUI元素被称为控件(Widget),例如按钮(Button)、标签(Label)、文本框(Entry)等。
可以通过Tk类的方法创建这些控件,例如:```pythonbutton = tk.Button(root, text="点击我")```4. 布局管理器:在GUI界面中,布局管理器指定GUI元素在窗口中的位置和大小。
Python提供了多种布局管理器,例如pack布局、grid布局和place布局。
三、Tkinter库的基本使用Tkinter库是Python编写GUI应用程序的常用工具。
以下是一些基本的使用示例:1. 创建窗口和标签:```pythonimport tkinter as tkroot = ()label = bel(root, text="欢迎使用Python GUI编程")label.pack()root.mainloop()```2. 创建按钮和事件绑定:```pythonimport tkinter as tkdef button_click():print("按钮被点击了!")root = ()button = tk.Button(root, text="点击我", command=button_click)button.pack()root.mainloop()```3. 创建文本框和获取输入:```pythonimport tkinter as tkdef button_click():input_text = entry.get()print("文本框输入的内容是:", input_text)root = ()entry = tk.Entry(root)entry.pack()button = tk.Button(root, text="点击我", command=button_click)button.pack()root.mainloop()```四、进阶GUI库的使用除了Tkinter,还有其他进阶GUI库可以支持更复杂的GUI应用程序开发。
JavaGUI布局管理器容器可设置布局管理器,管理容器中组件的布局:container.setLayout(new XxxLayout());Java有6种布局管理器,AWT提供了5种:FlowLayoutBorderLayoutGridLayoutGridBagLayoutCradLayoutSwing还提供了⼀种:BoxLayout1、FlowLayout 流式布局顾名思义,组件像⽔流⼀样,从第⼀⾏开始,从左向右依次排列,碰到边界时转到下⼀⾏继续。
三个构造函数:FlowLayout() //使⽤默认参数FlowLayout(int align) //设置对齐⽅式FlowLayout(int align,int hgap,int vgap) //设置对齐⽅式、⽔平间距、垂直间距align是FlowLayout类的常量,⽐如:FlowLayout.LEFT,FlowLayout.CENTER2、BorderLayout 边界布局将容器划分为EAST、WEST、SOUTH、NORTH、CENTER五个部分,每个部分可放置⼀个组件。
2个构造函数:BorderLayout() //使⽤默认参数BorderLayout(int hgap,int vgap) //设置⽔平间距、垂直间距放置组件时需指定位置:container.add(Component comp, Borderlayout.SOUTH); //第⼆个参数是BorderLayout类的常量,指定组件位置container.add(Component comp); //缺省位置时,默认为BorderLayout.CENTER,放在中间⼀共5个位置,⼀个位置最多放1个组件。
当然,可以在⼀个位置放置多个组件,只是后放置的组件会覆盖之前放置的组件。
也可以⼀个都不放。
3、GridLayout ⽹格布局将容器划分为指定⾏数、列数的⽹格,每个格⼦的尺⼨都相同,⼀个格⼦中放置⼀个组件,适合组件⼤⼩差不多的,⽐如放置计算器的按钮。
gui编程原理GUI编程,全称图形用户界面编程,是指使用图形化的方式来开发程序界面的一种编程方式。
传统的命令行界面只能通过输入命令来操作程序,而GUI则通过用户直观的图形界面,使用鼠标、键盘等输入设备与程序进行交互操作,使得程序更加易于使用和理解。
GUI编程的原理基于计算机图形学和用户界面设计的理论与技术。
在实际应用中,GUI编程通过一系列用户界面元素(如窗口、按钮、文本框等)和事件处理机制来实现程序界面的交互效果。
在GUI编程中,有一些重要的概念和原理需要了解:1. 窗口系统:GUI程序在操作系统中运行,要与窗口系统进行交互。
常见的窗口系统有Windows、Mac OS和Linux等。
不同的窗口系统提供不同的图形库和接口,开发者需要根据目标平台选择合适的开发环境和工具。
3.事件处理机制:GUI程序中的用户操作(如点击按钮、输入文本等)会触发相应的事件,程序需要通过事件处理机制来响应这些事件。
通常,开发者需要定义事件的处理函数,并将其与用户界面元素关联起来。
4.布局管理:在GUI程序中,用户界面元素需要按照一定的规则进行布局。
布局管理器是一种常用的机制,用于自动调整界面元素的位置和大小,以适应不同屏幕分辨率和窗口大小。
5.图形绘制:GUI程序中的图形绘制需要使用图形库提供的绘图函数。
开发者可以使用基本的图形绘制函数,如绘制线条、矩形和圆形,也可以使用更高级的绘图函数来实现复杂的图形效果。
6.状态管理:GUI程序通常需要维护一些状态信息,以便在不同的操作之间进行数据传递和持久化。
开发者需要设计合适的数据结构和状态管理机制,以满足程序的需求。
GUI编程可以使用不同的编程语言来实现,如Java、Python、C#等。
不同的编程语言提供了各自的GUI库和框架,开发者可以根据自己的需求和熟练程度选择合适的语言和工具。
在实际开发中,GUI编程是一项具有挑战性的任务。
开发者需要考虑用户体验、界面美观、响应速度等多个方面。
gui基本原理GUI基本原理1. 什么是GUIGUI(Graphical User Interface),即图形用户界面,是一种人机交互界面,使用图形和图像来显示信息、实现操作。
与之相对应的是命令行界面(CLI),用户通过输入命令来操作。
2. GUI的基本组成GUI由以下几个基本组成部分构成:•窗口(Window):用户界面的基本单元,用于显示和接受用户操作。
窗口可以包含标题栏、菜单栏、工具栏、状态栏等。
•控件(Widget):窗口中的各种元素,用于展示信息和接受用户输入。
常见的控件有按钮、文本框、下拉框等。
•布局管理器(Layout Manager):用于控制窗口内控件的布局方式,如居中、靠左等。
•事件处理(Event Handling):用户的操作会触发相应的事件,通过事件处理机制,可以响应、处理这些事件,实现用户与应用程序的交互。
3. GUI的工作原理GUI的工作原理可以分为以下几个步骤:1.绘制窗口:首先,应用程序创建一个窗口对象,并通过操作系统调用,绘制窗口的基本框架和样式。
2.加载控件:界面设计师根据需求,在窗口中加载各种控件,设定控件的属性和样式。
3.事件循环:一旦窗口加载完成,应用程序就进入事件循环中。
在事件循环中,应用程序不断监听用户的操作,如鼠标点击、键盘输入等。
4.事件处理:当用户进行某种操作时,操作系统会根据操作类型生成相应的事件。
应用程序通过事件处理机制,捕获并处理这些事件,如执行相应的操作、更新窗口内容等。
5.刷新窗口:在事件处理过程中,应用程序可能需要更新窗口内容、样式等。
一旦更新完成,应用程序通过操作系统调用,将最新的窗口信息绘制出来。
6.循环更新:一旦窗口更新完成,应用程序再次进入事件循环,等待用户的下一次操作。
GUI的工作就是不断重复这个过程,实现用户与应用程序的交互。
4. GUI的优势和应用场景GUI相比于CLI具有以下优势:•直观性:通过图形和图像的展示,用户能够更直观地理解和操作应用程序。
五种JAVAGUI布局管理的⽅式1. 流式布局(FlowLayout)定义:通俗地说,流式布局就是根据窗⼝⼤⼩,⾃动改变窗⼝内组件的位置。
例如:原窗⼝⼤⼩⼀⾏可以容纳10个BUTTON,但将窗⼝缩⼩后,每⾏仅能容纳5个BUTTON,此时原先的10个BUTTON中的五个就会⾃动排列到下⼀⾏。
⽰例:(省略panel的使⽤)Hashsetpackage 布局管理;import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class Layout { //流式布局public static void main(String[] args) {Frame frame = new Frame(); //创建⼀个窗⼝frame.setLayout(new FlowLayout(FlowLayout.LEFT)); //将窗⼝布局设置为流式布局,并设置向左对齐Button button1 = new Button("button1"); //创建若⼲个按钮Button button2 = new Button("button2");Button button3 = new Button("button3");Button button4 = new Button("button4");Button button5 = new Button("button5");frame.add(button1); //将按钮添加进窗⼝中frame.add(button2);frame.add(button3);frame.add(button4);frame.add(button5);frame.setBounds(200,200,500,500); //设置窗⼝的位置与⼤⼩frame.setVisible(true); //设置窗⼝可见性frame.addWindowListener(new WindowAdapter() { //事件监听:关闭窗⼝@Overridepublic void windowClosing(WindowEvent e) {System.exit(0);}});}}2. 东西南北中布局(BorderLayout)定义:东西南北中布局,顾名思义。
GUI图形功能\\GUI图形功能import java.awt.*;import javax.swing.*;public class Test{public static void main(String[] args){JFrame jf=new JFrame(); // JFrame是一个顶层容器类(可以添加其他的swing组件)J Button jb1=new JButton(“我是按钮”); //创建一个button按钮jf.add(jb1); //添加JButton组件jf.setTitle(“我是窗体”); //设置标题jf.setSize(200,300); //设置大小jf.setLocation(100,150); //设置初始位置jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置当关闭窗口时保证JVM退出jf.setVisible(true); //显示}}\\通用方法import java.awt.*;import javax.swing.*;public class Test extends JFrame{J Button jb1=null; //把需要的swing组件,定义到这里Test(){jb1=new JButton(“我是按钮”); //创建一个button按钮this.add(jb1); //添加JButton组件this.setTitle(“我是窗体”); //设置标题this.setSize(200,300); //设置大小this.setLocation(100,150); //设置初始位置this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置当关闭窗口时,保证JVM也退出this.setVisible(true); //显示}public static void main(String[] args){Test t=new Test();}}三大常用布局器管理器1、继承JFrame2、定义你需要的组件3、创建组件(构造方法里)4、添加组件5、对窗体设置/**一、边界布局器BorderLayout的使用*/package ;import java.awt.*;import javax.swing.*;public class Demo extends JFrame { //继承JFrameJButton jb1,jb2,jb3,jb4,jb5,jb6; //定义组件public Demo(){jb1=new JButton("中"); //创建组件jb2=new JButton("东");jb3=new JButton("西");jb4=new JButton("南");jb5=new JButton("北");jb6=new JButton("不知道");this.add(jb1,BorderLayout.CENTER); //添加组件this.add(jb2,BorderLayout.EAST);this.add(jb3,BorderLayout.WEST);this.add(jb4,BorderLayout.SOUTH);this.add(jb5,BorderLayout.NORTH);this.setTitle("我是边界布局器"); //设置窗体属性this.setSize(300,500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocation(100,100);this.setVisible(true);}public static void main(String[] args) {// TODO Auto-generated method stubDemo d=new Demo();}}/*** 二、流式布局器FlowLayout的使用* 比边界布局要多一个“设置布局管理器”这个步骤*/package ;import java.awt.*;import javax.swing.*;class Demo extends JFrame{JButton jb1,jb2,jb3,jb4,jb5,jb6;public Demo(){jb1=new JButton("1");jb2=new JButton("2");jb3=new JButton("3");jb4=new JButton("4");jb5=new JButton("5");jb6=new JButton("6");this.add(jb1);this.add(jb2);this.add(jb3);this.add(jb4);this.add(jb5);this.add(jb6);//设置流式布局管理器(左右对齐\中对齐)this.setLayout(new FlowLayout(FlowLayout.RIGHT));this.setTitle("流式布管理局器");this.setSize(220,450);this.setLocation(100,100);this.setResizable(false); //禁止改变窗口大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public static void main(String[] args){Demo d=new Demo();}}另一个实现代码:用数组实现import javax.swing.*;import java.awt.*;public class Demo2 extends JFrame{JButton[] jbutton=new JButton[5];Demo2(){for(int i=0;i<5;i++){jbutton[i]=new JButton(String.valueOf(i+1)); //返回字符串this.add(jbutton[i]);}this.setLayout(new FlowLayout(FlowLayout.LEFT));this.setTitle("flow");this.setSize(200,140);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {Demo2 d=new Demo2();}}//三、网格布局器GridLayout的使用package ;import java.awt.*;import javax.swing.*;public class Test2 extends JFrame{JButton[] jbs=new JButton[9];public Test2(){for(int i=0;i<9;i++){jbs[i]=new JButton(String.valueOf(i+1));}this.setLayout(new GridLayout(3,3,10,10));//设置网格布局管理器for(int i=0;i<9;i++){this.add(jbs[i]);}this.setTitle("网格布管理局器");this.setSize(420,240);this.setLocation(100,100);this.setResizable(false); //禁止改变窗口大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public static void main(String[] args) {Test2 t2=new Test2();}}//四、三种布局器的混合使用// 例1://JPanel 的应用:JPanel 默认是FlowLayout// JFrame 使用边界布局import java.awt.*;import javax.swing.*;public class Test3 extends JFrame{JPanel jp1,jp2; JButton jb1,jb2,jb3,jb4,jb5,jb6;Test3(){jp1=new JPanel();jp2=new JPanel();jb1=new JButton("语文"); jb2=new JButton("数学"); jb3=new JButton("思维");jb4=new JButton("画画");jb5=new JButton("活动");jb6=new JButton("吃饭");jp1.add(jb1); //添加按钮到JPanel ,JPanel 默认是FlowLayout jp1.add(jb2);jp2.add(jb4); jp2.add(jb5); jp2.add(jb6);this.add(jp1,BorderLayout.NORTH);this.add(jp2,BorderLayout.SOUTH);this.add(jb3,BorderLayout.CENTER);this.setTitle("小学生课表");this.setSize(300,500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocation(100,100);this.setVisible(true);}public static void main(String[] args) { Test3 t3=new Test3();}}// 例2:JFrame使用网格布局import javax.swing.*;import java.awt.*;public class Demo2 extends JFrame{JPanel jp1,jp2,jp3;JLabel jla1,jla2;JTextField jtf1;JPasswordField jpf1;JButton jb1,jb2;Demo2(){jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jla1=new JLabel("管理员");jla2=new JLabel("密码");jtf1=new JTextField(10);jpf1=new JPasswordField(10);jb1=new JButton("确认");jb2=new JButton("取消");jp1.add(jla1);jp1.add(jtf1);jp2.add(jla2);jp2.add(jpf1);jp3.add(jb1);jp3.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.setLayout(new GridLayout(3,1)); // JFrame使用网格布局this.setTitle("会员管理系统");this.setSize(300,160);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {Demo2 d=new Demo2();}}。
实验十三GUI布局管理与常用组件一、实验目的掌握GUI的四种基本布局管理器和常用组件的添加和使用。
二、实验要求1、设计和实现Java图形界面应用程序。
2、掌握Java布局管理器的设置方法,学会在不同的窗口中填加各种组件。
3、设计并分析程序,写出本实验的收获。
三、实验内容图形用户界面概述,布局管理器,常用标准GUI 组件和Swing GUI组件。
运行并理解教材案例7-5—7-7,完成以下实验任务。
四、参考程序1、/**周边布局及组件*/import java.awt.*;import javax.swing.*;class A extends JFrame{public static void main(String[] args){JFrame a=new JFrame();Container c=a.getContentPane();c.setLayout(new BorderLayout());c.add(new JButton("1"),BorderLayout.NORTH);c.add(new JButton("2"),BorderLayout.SOUTH);c.add(new JButton("3"),BorderLayout.EAST);c.add(new JButton("4"),BorderLayout.WEST);c.add(new JButton("5"),BorderLayout.CENTER);a.setSize(300,200);a.show();}}五、实验任务1、AWT主要由哪几部分组成?2、AWT中的布局管理器有哪几个?3、AWT、Swing和SWT的区别与联系?4、在容器底部放置一个按钮,不论如何改变容器尺寸,按钮始终在底部,那布局管理器使用最简单?5、完成课后实验一、三、四的除事件处理外的用户界面部分。