欢迎来到天天文库
浏览记录
ID:40238732
大小:694.50 KB
页数:92页
时间:2019-07-28
《Java 程序设计 杨厚群 主编 chap8》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章JavaSwing与事件处理事件触发机制和事件处理机制是围绕AWT进行的,而Swing是在AWT的基础上构建起来的,所以Swing组件也使用了AWT的事件管理机。本章要点:理解布局管理器的作用掌握FolwLayout、GrildLayout、BorderLayout使用了解组件之间的关系掌握常用组件的使用了解事件处理的原理掌握事件的注册、监听和处理了解WT事件继承层次理解高级事件和低级事件的概念掌握窗口事件、鼠标事件、键盘事件的应用为了使Swing用户界面能在跨平台平台上表现一致,Java布局管理器提供了一层抽象,自动把用户界面映射到所有的窗口系统。当把Java的GU
2、I组件添加到容器时,它们由容器的布局管理器来安排位置。对于JFrame窗口,程序可以将组件添加到它们的内容面板中。JFrame的内容面板是一个容器类型的类对象,可以通过getContentPane()返回该内容面板,内容面板的默认布局是BorderLayout布局,容器可以使用setLayout(布局对象)方法来设置自己的布局。8.1布局管理介绍在程序中安排组件的位置和大小时,应注意:容器中布局管理器负责各组件的大小和位置,用户无法在这种情况下设置组件的这些属性,如试图调用setLocation(),setSize(),setBounds()等。如果用户确实需要自己设置组件
3、的大小和位置,则应取消该容器的布局管理器,方法为:setLayout(null)8.1布局管理介绍8.1布局管理介绍在容器中所有组件的布局都由布局管理器来控制,每个容器,如Panel、Windows或Frame都有各自缺省的布局管理器,程序员也可以在程序中指定一个新的布局管理器。java.awt类包中包含五种布局管理器:FlowLayout:Panel和Applet的缺省布局管理器BorderLayout:Window、Dialog和Frame的缺省布局管理器GridLayoutCardLayoutGridBagLayout8.1布局管理介绍——FlowLayoutFlow
4、Layout布局方式是将组件一排一排地依次放置,它自动调用组件的getPreferredSize()方法,使用组件的最佳尺寸来显示组件。当容器被重新设置大小后,则布局也会随之发生改变:各组件的大小不变,但相对位置会发生变化。FlowLayout类有三种构造方法:publicFlowLayout()使用缺省居中对齐方式,组件间的水平和竖直间距为缺省值5个象素。publicFlowLayout(intalignment)使用指定的对齐方式(FlowLayout.LEFT,FlowLayout.RIGHT,FlowLayout.Center),水平和竖直间距为缺省值5象素。pub
5、licFlowLayout(intalignment,inthorizontalGap,intverticalGap)使用指定的对齐方式,水平和竖直间距也为指定值。importjava.awt.*;importjavax.swing.*;classFrameFlowextendsJFrame{FrameFlow(Stringname){super(name);ContainercontenetPane=this.getContentPane();FlowLayoutflowLayout=newFlowLayout();flowLayout.setAlignment(Flow
6、Layout.LEFT);//设置布局的对齐方式flowLayout.setHgap(4);//设置组件的水平间距flowLayout.setVgap(6);//设置组件的垂直间距contenetPane.setLayout(flowLayout);//设置容器的布局为flowLayoutfor(inti=1;i<=10;i++){contenetPane.add(newJButton("按钮"+i));//把按钮加入容器}contenetPane.validate();//设置容器有效setBounds(50,50,100,100);setSize(300,300);se
7、tVisible(true);//设置组件可见setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//关闭容口,Example8_1.java//并结束程序的运行}}publicclassExample8_1{publicstaticvoidmain(Stringargs[]){FrameFlowframe=newFrameFlow("FlowLayout布局窗口");}}Example8_1.java8.1布局管理介绍——BorderLayoutBorderLayo
此文档下载收益归作者所有