组件

Java图形用户界面最基本组成部分是组件(Component)。组件是一个以图形化的方式显示在屏幕上并能与用户交互的对象,例如一个按钮一个标签等。组件不能单独显示出来,必须将组件放在容器中才可以显示出来类Java.awt.Component是许多组件类的父类,Component类中封装来了组件通用的方法和属性,如大小,组件对象,显示位置,颜色等

常用容器

容器java.awt.Container是一个类也是Component的子类,因此容器本身也是一个组件但他主要功能是容纳其他组件和容器。一个容器可以容纳多个组件并使他们成为一个整体。所有容器都可以通过add方法向容器中添加组件。

三种常用容器:Frame,Panel,ScrollPane

Frame

Frame类是Container类的间接字类。当需要一窗口时可以使用Frame或其子类创建一个对象。窗口也是一个容器可以向窗口添加组件(不允许将一个窗口添加到另一个容器中)

import java.awt.Color;
import java.awt.Frame;

public class Glt extends Frame{
    public static void main (String[] args){
        Glt f = new Glt("hello");//构造方法
        f.setSize(500,200);//设置Frame大小
        f.setBackground(Color.red);//设置背景颜色
        f.setVisible(true);//设置Frame为可见,默认是不可见
    }
    public Glt(String s){
        super(s);//调用父类构造方法
    }
    

}

Panel

Panel类是Container(容器)的子类,因此Panel类及其子类的实例也是一个容器,Panel类容器的默认布局是Flowlayout布局。Panel类创建的对象称为面板,经常在一个面板内添加若干个组件后再将面板放到另一个容器内。

import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;

public class Glt extends Frame{
    public static void main (String[] args){
        Glt f = new Glt("hello");//构造方法
        Panel pan = new Panel();
        f.setSize(200,200);//设置Frame大小
        f.setBackground(Color.red);//设置背景颜色
        f.setLayout(null);//取消布局管理器
        pan.setSize(100,100);//设置面板大小
        f.add(pan);//用add方法把面板pan添加到框架f中
        f.setVisible(true);//设置Frame为可见,默认是不可见
    }
    public Glt(String s){
        super(s);//调用父类构造方法
    }
    

}

ScrollPane

ScrollPane类是Container类的子类,因此该类创建的对象也是一个容器称为滚动面板。用户可以把一个组件放在滚动面板中然后通过滚动条来观察该组件。与Panel创建的容器不同是ScrollPane带有滚动条而且只能向滚动面板添加一个组件