AWT学习笔记一Frame和Panel

一、AWT
1、在java.awt包中提供了两种基类表示图形界面元素:Component和MenuComponent,其中Component代表一个以图形化方式显示出来,并可与用户交互的对象;而MenuComponent则代表图形界面菜单组件,包括MenuBar(菜单条),MenuItem(菜单项)等。

AWT图形组件之间的继承关系
2、AWT图形用户界面还有两个重要概念:Container和LayoutManager,其中Container是一个特殊的Component,它代表一种容器,可以盛装普通的Component;而LayoutManager则是容器管理其他组件布局的方式。
这里写图片描述
AWT提供了两种主要容器类型

  • Window:可以独立存在的窗口。
  • Panel:可作为容器容纳其他组件,但不能独立存在,必须添加到其他容器中。
    Frame代表常见的窗口,它是Window类的子类,
  • Frame 对象有标题,允许通过拖拉来改变窗口的位置,大小。
  • 初始化时不可见 ,可用setVisible(true)使其显示出来。
  • 默认使用 BorderLayout作为其布局管理器。

    3、示例代码

Frame myFrame = new Frame();
myFrame.setTitle("我的窗口");
myFrame.setBackground(Color.gray);
myFrame.setBounds(30, 30, 250, 200);
myFrame.setVisible(true);

运行结果如下:
这里写图片描述
4、Panel默认使用FlowLayout作为布局管理器

Frame frame = new Frame("带有Panel的窗口");
Panel panel = new Panel();
panel.add(new Label("UserName:"));
panel.add(new TextField(20));
frame.add(panel);
frame.setBounds(30, 30, 350, 250);
frame.setVisible(true);

这里写图片描述
5、ScrollPanel是一个带滚动条的容器,也不能 独立存在。但组件占用空间过大时,ScrollPanel自动产生滚动条,也可以通过指定特定的构造器参数来指定默认具有滚动条。默认使用BorderLayout作为布局管理器。不允许改变ScrollPanel的布局管理器。

Frame frame = new Frame();
frame.setTitle("带有滚动条的panel");
ScrollPane scrollPane = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
scrollPane.add(new TextArea());
frame.add(scrollPane);

frame.setBounds(30, 30, 350, 250);
frame.setVisible(true);

这里写图片描述

猜你喜欢

转载自blog.csdn.net/linjinhuo/article/details/76732219