JavaGUI图形化界面编程(一)—awt_Container容器

Container继承体系

Container继承体系图

  • Window是可以独立存在的顶级窗口,默认使用BorderLayout管理器内部组件布局
  • Panel可以容纳其他组件,但不能独立存在,它必须内嵌其他容器中使用,默认使用FlowLayout管理器内部组件布局
  • ScrollPane是一个带滚动条的容器,它也不能独立存在,默认使用BorderLayout管理其内部组件布局

常见API

设置组件的参数的方法

  • setLocation(int x,int y);设置组件的位置,参数分别为以屏幕左上角水平为x轴,竖直为y轴的像素坐标
  • setSize(int width,int height);设置组件的大小,参数为组件的宽度和高度
  • setBounds(int x,int y,int width,int height);同时设置组件的位置和大小
  • setVisible(Boolean b);设置该组件的可见性

访问组件的方法

  • Component add(Component comp);向容器中添加其他组件,(该组件既可以是普通组件也可以是容器),并返回被添加的组件
  • Component getComponent(int x,int y);获取指定位置的组件
  • int getComponentCount();返回该容器中组件的数量
  • Component[] getComponents();获取该容器中的所有组件

代码示例

Window

import java.awt.Frame;

public class WindowDemo {

	public static void main(String[] args) {
		/*1.创建一个窗口对象*/
		Frame frame = new Frame();
		/*2.设置位置与大小*/
		frame.setLocation(200, 200);
		frame.setSize(900, 500);
		/*3.设置窗口可见*/
		frame.setVisible(true);
	}

}

运行结果
在这里插入图片描述

panel

import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;

public class PanelDome {

	public static void main(String[] args) {
		
		/*1.创建一个window对象,因为panel不能独立存在*/
		Frame frame = new Frame();
		/*2.创建一个Panel对象*/
		Panel p = new Panel();
		/*3.创建文本域和按钮并添加入panel中*/
		TextField text = new TextField("这里是测试文本");
		Button b = new Button("这是一个测试按钮");
		p.add(text);
		p.add(b);
		/*4.将panel放入window中*/
		frame.add(p);
		/*5.设置window的大小,位置,可见性*/
		frame.setBounds(200, 200, 900, 500);
		frame.setVisible(true);

	}

}

运行结果
在这里插入图片描述

Scrollpane

import java.awt.Button;
import java.awt.Frame;
import java.awt.ScrollPane;
import java.awt.TextField;

public class ScrollPaneDemo {

	public static void main(String[] args) {
		
		/*1.创建window对象*/
		Frame frame = new Frame("这里演示ScrollPane");
		/*2.创建ScrollPane对象*/
		ScrollPane sp = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);//参数表示永远显示滚动条
		/*3.往sp中添加内容*/
		sp.add(new Button("按钮"));
		sp.add(new TextField("文本"));
		/*4.将sp添加到frame中*/
		frame.add(sp);
		/*5.设置frame参数*/
		frame.setBounds(200, 200, 900, 500);
		frame.setVisible(true);

	}

}

运行结果
在这里插入图片描述
按钮无法显示,是默认的布局管理器导致的


版权声明:本文为m0_48468380原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。