java awt类_JAVA---awt

三个概念:组件(component) 容器(Container) 布局管理器(LayoutManager)

关系: 容器中放置组件,组件的排列方式可以通过布局管理器设置。

用户设置布局管理器后,setLocation()等方法会被布局管理器覆盖;用户想亲自设置组件大小和位置,应取消容器的布局管理器

setLayout(null);

有三种类型的容器:Window,Panel,ScrollPane

常用的有Frame,Panel,Applet

1. Frame

生成一个窗口,一般不用Window, 而是用其子类Frame。

实例化后,Frame是不可见且无大小。故需调用setSize() setVisible(true)

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

1 import java.awt.*;2

3 public class MyFrame extendsFrame {4 public static voidmain(String args[]) {5 MyFrame fr = new MyFrame("Hello Out There!");6

7 fr.setSize(200, 200); //设置Frame的大小, 缺省为(0 ,0)

8 fr.setBackground(Color.red); //设置Frame的背景,缺省为红色

9 fr.setVisible(true); //设置Frame为可见,缺省为不可见

10 }11

12 publicMyFrame(String str) {13 super(str); //调用父类的构造方法

14 }15 }

2. Panel

eg: 带有Panel的Frame

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

1 import java.awt.*;2

3 public class FrameWithPanel extendsFrame {4 publicFrameWithPanel(String str) {5 super(str);6 }7

8 public static voidmain(String args[]) {9 FrameWithPanel fr = new FrameWithPanel("Frame with pannel");10 Panel pan = newPanel();11 fr.setSize(200, 200);12 fr.setBackground(Color.red);13

14 fr.setLayout(null); //取消布局管理器

15

16 pan.setSize(100, 100);17 pan.setBackground(Color.yellow); //设置面板pan的背景颜色为黄色

18

19 fr.add(pan); //用add方法把pan面板添加到框架fr中

20

21 fr.setVisible(true);22 }23 }

3. LayoutManger布局管理器

组件的排列顺序、组件的大小、位置、当窗口移动或调整大小后组件如何变化可授权给布局管理器来管理。

不同的布局管理器其算法和策略不同。

FlowLayout

Panel和Applet的缺省布局管理器。

其规律为从上到下,从左到右放置。

容器发生变化时,组件大小不变,相对位置改变。

构造方法:

FlowLayout(FlowLayout.RIGHT, 20, 40); // 右对齐,横向间隔20,纵向间隔40

FlowLayout(FlowLayout.LEFT); // 左对齐,横向间隔、纵向间隔缺省:5

FlowLayout(); // 居中对齐,横向间隔、纵向间隔缺省:5

eg. Frame采用FlowLayout()

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

1 import java.awt.*;2

3 public classmyButtons {4 public static voidmain(String args[]) {5 Frame f = newFrame();6 f.setLayout(newFlowLayout());7 Button button1 = new Button("OK");8 Button button2 = new Button("Open");9 Button button3 = new Button("Close");10 f.add(button1);11 f.add(button2);12 f.add(button3);13

14 f.setSize(300, 100);15 f.setVisible(true);16 }

BorderLayout

Window, Frame和Dialog的缺省布局管理器

有5个区域:North South East West Center

容器发生变化时,组件相对位置不变,组件大小改变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值