界面组件与布局管理【总结】

1. GUI概述?

答:GUI就是一组图形界面成分和界面元素的有机组合,各成分和元素不但在外观上有着包含、相邻、相交等物理关系,内在的也有包含、调用等逻辑关系,它们共同作用、传递信息,组成一个能响应特定事件、具有一定功能的图形界面系统。 处理GUI的类库主要有java.awt包和javax.swing包,后者是在前者的基础上开发的,大部分的Swing组件继承了对应的AWT组件。

2. AWT组件的分类?

答:

界面组件与布局管理【总结】_第1张图片

3. Container类?

答:容器中可以容纳其他组件,使用add()方法将其他对象加入到容器中。加入到容器的组件的位置和尺寸由布局管理器决定,若要人工控制,可取消布局管理器,即用方法setLayout(null),然后使用 setLocation(),setSize()和setBounds()来设定其大小及位置。

使用Frame,默认初始化不可见,用setVisible(true)方法使之可见:

界面组件与布局管理【总结】_第2张图片

在Frame中加入Panel,在Panel中加入Button:

界面组件与布局管理【总结】_第3张图片


4. 非Container类组件?

答:又称控制组件,它里面不包含其他组件,控制组件的作用是完成与用户的交互,如接收命令(Button),接收文本或选择输入,向用户显示文本或图形等等。

5. 几种布局管理?

答:设定一个布局管理器,可用setLayout()方法,如setLayout(new FlowLayout());

1)FlowLayout

    是容器Panel和它的子类Applet默认使用的布局管理器。FlowLayout 有三种构造方法,FlowLayout(),FlowLayout(int align),FlowLayout(int align,int hgap,int vgap),align指定每行的对其方式,可取三个静态常量LEFT,CENTER,RIGHT,默认为CENTER,hgap和vgap指组件间的横纵间距,默认为5个像素。

2)BorderLayout

    是容器Frame和Dialog默认得布局管理器,它把容器内的空间简单划分为东、西、南、北、中五个区域,每加入一个组件都要指明加到哪个区域。BorderLayout 有两种构造方法,BorderLayout(),BorderLayout(int hgap,int vgap)。

                                                    界面组件与布局管理【总结】_第4张图片

3)CardLayout

    使用CardLayout的容器表面上可以容纳对个组件,实际上在同一时间只能从这些组件中选出一个来显示,就像一叠扑克牌每次只能显示最上面那张。CardLayout有两种构造方法CardLayout()和CardLayout(int hgap,int vgap)。例如,利用CardLayout,实现程序,按钮加入事件处理,单机鼠标左键到下一个组件,单机鼠标右键到前一个组件:

import java.awt.*;
import java.awt.event.*;

public class TestCardLayout {
	public static void main(String[] args) {
		final Frame frame=new Frame("Card Layout");
		final CardLayout cardLayout=new CardLayout();
		
		Button[] buttons=new Button[10];
		for(int i=0;i

4)GridLayout

    其把容器的空间划分为若干行乘若干列额的网格区域,组件就位于这些划分出来的小格中,其构造方法 setLayout(new GridLayout(行数,列数))。

5)GridBagLayout

    是五种布局策略中使用最复杂、功能最强大的一种,在GridLayout的基础上发展而来。


你可能感兴趣的:(JAVA)