java语言程序设计4-10-%·第十五讲 布局设计

上传人:第*** 文档编号:49792684 上传时间:2018-08-02 格式:PPT 页数:21 大小:228.50KB
返回 下载 相关 举报
java语言程序设计4-10-%·第十五讲 布局设计_第1页
第1页 / 共21页
java语言程序设计4-10-%·第十五讲 布局设计_第2页
第2页 / 共21页
java语言程序设计4-10-%·第十五讲 布局设计_第3页
第3页 / 共21页
java语言程序设计4-10-%·第十五讲 布局设计_第4页
第4页 / 共21页
java语言程序设计4-10-%·第十五讲 布局设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《java语言程序设计4-10-%·第十五讲 布局设计》由会员分享,可在线阅读,更多相关《java语言程序设计4-10-%·第十五讲 布局设计(21页珍藏版)》请在金锄头文库上搜索。

1、河南经贸职业学院信息管理系主讲教师:武俊琢第十五讲 布局设计布局管理器河南经贸职业学院信息管理系主讲:武俊琢* 温故 *n选择型组件nCheckboxnCheckboxGroupnChoicenListn窗口事件处理n实现接口WindowListenern继承适配器WindowAdapern外部类n内部类n匿名内部类 河南经贸职业学院信息管理系主讲:武俊琢* 知新 *n布局设计nBorderLayoutnFlowLayoutnCardLayoutnGridLayoutnBoxLayoutnNull布局河南经贸职业学院信息管理系主讲:武俊琢边界布局BorderLayoutnBorderLayou

2、tn是窗口的默认布局n使用这种布局的容器,空间被分为东、西、南、北、中5个区域, 由BorderLayout中的5个静态常量EAST、WEST、SOUTH、 NORTH、CENTER表示n添加组件时,使用表示方位的常量规定添加组件的位置nadd(b1,BorderLayout.SOUTH)n也可以使用指定的字符串表示方位:add(b1, “South“)n构造方法nBorderLayout()nBorderLayout(int hgap, int vgap) nhgap水平间隔nvgap垂直间隔n使用BorderLayout布局管理器的步骤n创建BorderLayout对象n调用容器的setL

3、ayout()方法为容器设置布局管理器n调用容器的add(组件,位置)方法向容器中添加组件河南经贸职业学院信息管理系主讲:武俊琢import java.awt.*;import java.applet.*; public class E1 extends Applet Button b1,b2,b3,b4; TextArea ta; public void init() BorderLayout b=new BorderLayout(10,10); /setLayout(b); b1=new Button(“button1“); b2=new Button(“button2“); b3=new

4、 Button(“button3“); b4=new Button(“button4“); ta=new TextArea(“center“,5,10); ta.setFont(new Font(“,Font.BOLD,18); add(ta,“Center“); add(b1,“East“);add(b2,“West“); add(b3,“South“);add(b4,“North“); BorderLayout实例1河南经贸职业学院信息管理系主讲:武俊琢BorderLayout实例2 import java.awt.*;import java.awt.event.*; public cla

5、ss E2 extends Frame TextArea ta;Button b1,b2,b3,b4; public E2() setSize(500,400); ta=new TextArea(“中“); ta.setFont(new Font(“,Font.BOLD,18); b1=new Button(“东“);b2=new Button(“西“); b3=new Button(“南“);b4=new Button(“北“); add(ta,“Center“);add(b1,“East“); add(b2,“West“);add(b3,“South“);add(b4,“North“);

6、addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); show(); public static void main(Stringargs) new E2(); 河南经贸职业学院信息管理系主讲:武俊琢FlowLayout布局管理器n流布局在一个 left-to-right 流中安排组件,常用于在面板中安排按钮。 它会从左到右的安排按钮直到在同一行中不可以再放置更多的按钮时为 止。 每行都是中心对齐的。n构造方法nFlowLayout()nFlowLayo

7、ut(int align)nalign:FlowLayout.LEFT、 FlowLayout.RIGHT、 FlowLayout.CENTERnFlowLayout(int align, int hgap, int vgap)n方法ngetAilgnment()nsetAlignment(int align)n使用FlowLayout布局管理器的步骤n创建FlowLayout对象n容器调用setLayout()方法n容器添加组件河南经贸职业学院信息管理系主讲:武俊琢在构造方法的前面添加职下代码:FlowLayout fl=new FlowLayout(FlowLayout.LEFT,10,1

8、0);setLayout(fl);实例修改例2河南经贸职业学院信息管理系主讲:武俊琢CardLayout布局管理器 它将容器中的每个组件当作一个卡片来处理。在某一时间,只有一个卡片 是可见的,容器象一个装卡片的盒子。 1、构造方法: (1)、public CardLayout() (2)、public CardLayout(int hgap,int vgap) :水平间隙置于左右两 侧,垂直间隙置于上下两侧。 2、CardLayout的方法 public void first(Container parent):翻到容器的第一张卡片。 参数: parent - 进行布局的容器的名字。 publ

9、ic void next(Container parent):翻到指定容器的下一张卡片 。若当前可见的卡片是最后一张卡片,则翻到布局中的第一张卡片。 public void previous(Container parent):翻到指定容器的前一张 卡片。若当前可见的卡片是第一张卡片,则翻到布局中的最后一张卡 片。 public void last(Container parent):翻到容器的最后一张卡片。3、使用CardLayout管理器的步骤: (1)创建CardLayout对象作为布局管理器 (2)使用容器的setLayout()方法为容器设置布局管理器 (3)调用容器的add()方法

10、将组件加入容器 (4)调用CardLayout的方法显示某一个组件河南经贸职业学院信息管理系主讲:武俊琢CardLayout实例1 import java.awt.*;import java.applet.*; import java.awt.event.*;public class E3 extends Applet implements ActionListenerButton b1,b2,b3,b4;Panel p;CardLayout card; public void init() p=new Panel();card=new CardLayout(20,20);setBackgro

11、und(Color.white);p.setLayout(card); p.setBackground(Color.red);b1=new Button(“第一张卡片“);b2=new Button(“第二张卡片“); b3=new Button(“第三张卡片“); b4=new Button(“第四张卡片“); p.add(“1“,b1);p.add(“2“,b2); p.add(“3“,b3);p.add(“4“,b4); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this);

12、b4.addActionListener(this); add(p); public void actionPerformed(ActionEvent e) card.next(p); 河南经贸职业学院信息管理系主讲:武俊琢CardLayout实例2import java.applet.*;import java.awt.event.*; import java.awt.*;class Mycanvas extends Canvas int x,y; Mycanvas(int a,int b) x=a;y=b; setSize(100,160); public void paint(Graph

13、ics g) g.setColor(Color.red); g.fillOval(50,50,4*x,4*y); g.drawString(“我是第“+x+“个卡片“,10,150); public class E4 extends Applet implements ActionListenerCardLayout mycard; Button b1,b2,b3; Mycanvas my;Panel p; public void init()setLayout(new BorderLayout();mycard=new CardLayout();p=new Panel(mycard);b1=

14、new Button(“first“);b2=new Button(“next“);b3=new Button(“last“);my=new Mycanvas21;for (int i = 1; i21; i+)myi=new Mycanvas(i,i);p.add(“+i,myi);b1.addActionListener(this); b2.addActionListener(this);b3.addActionListener(this); Panel p2=new Panel();p2.add(b1);p2.add(b2);p2.add(b3); add(p,“Center“); ad

15、d(p2,“South“); public void actionPerformed(ActionEvent e) if(e.getSource()=b1) mycard.first(p); else if(e.getSource()=b2) mycard.next(p); else if(e.getSource()=b3) mycard.last(p); 河南经贸职业学院信息管理系主讲:武俊琢GridLayout布局管理器n以矩形网格形式对容器中的组件进行布局。容器被分成尺寸相等的矩形 ,一个组件放置在一个矩形中。n构造方法nGridLayout()nGridLayout(int rows,

16、int cols)nGridLayout(int rows,int cols,int hgap,int vgap)n方法ngetColumns()、setColumns(int cols)ngetRows()、getRows(int rows)n使用GridLayout管理器的步骤n创建GridLayout对象,并设置划分网络的行数和列数n调用容器的setLayout()方法为容器设置布局管理器n调用容器的add()方法向容器中添加组件河南经贸职业学院信息管理系主讲:武俊琢GridLayout布局管理器实例import java.awt.*; public class E5 extends Frame public E5() setSize(400,300); setLocation(100,100); setBackground(Colo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号