java学习——48.容器、窗口、面板和框架类
1、容器
容器(container)是一种特殊组件,可以容纳其他组件,在其可视区域内显示这些组件。
Container容器类是Component组件类的子类。声明如下:
public class Container extends Component{
public void setLayout(LayoutManagger mar);//设置布局管理器
public Component add(Component comp);//添加组件
public void remove(int i);//删除容器中第i个组件
}
2、窗口和面板
Window窗口类和Panel面板类均为容器类的子类。
窗口有标题栏,放大、缩小、关闭按钮,可以添加菜单栏,可以独立存在。
而面板没有标题,没有边框,不可添加菜单栏,也不能独立存在,只能包含在其他容器中。
窗口类声明如下:
public class Window extends Container implementsAccessible //窗口类
{
public void setLocationRelativeTo(Component comp) //将窗口置于屏幕中央
}
面板类声明如下:
public classPanel extends Container implements Accessible //面板类
{
public Panel() //默认FlowLayout布局,居中对齐
public Panel(LayoutManager layout) // layout指定布局管理器
}
3、框架
框架类是窗口类的子类。经常用作Application应用程序的主窗口。
其声明如下:
public class Frame extends Window implements MenuContainer //框架
{
public Frame()
public Frame(String title) //参数title指定框架的标题
public String getTitle() //获取框架的标题
public void setTitle(String title) //设置或修改框架的标题
public void setResizable(boolean resizable) //设置框架是否可变大小
}
例:本例主要显示Frame框架,修改窗口的标题,居中显示,灰化放大按钮等,代码后都有详细注释。
import java.awt.*;
import java.awt.event.*;
public class jsq extends Frame{
public jsq(){
super("计算器");//调用Frame带参的构造函数,设置窗口标题为计算器
this.setLocationRelativeTo(null);//调用窗口类的方法,设置窗口位于屏幕中央
this.setResizable(false);//设置窗口不能改变大小
this.setSize(300,300);
this.addWindowListener(newWindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});//关闭窗口
this.setVisible(true);
}
public void set(){
Button b=new Button("确定");
this.add(b);
}
public static void main(String args[]){
jsq j=new jsq();
j.set();
}
}
其运行结果如下: