首页 [重点]JAVA布局管理

[重点]JAVA布局管理

举报
开通vip

[重点]JAVA布局管理[重点]JAVA布局管理 JAVA布局管理 一、 FlowLayout(流布局管理):其组件的放置规律是从上到下,从左到右依次进行放置。构造方法有下列几种: 1. FlowLayout():创建每行组件居中对齐、组件间距为5个像素单位。 2. FlowLayout(int align):创建指定每行的对齐方式、组件间距为5个像素单位。 align取值表示组件的对齐方式:CENTER(居中对齐),LEFT(左对齐),RIGHT(右对齐)。 二、 BorderLayout(边框布局管理):将容器分为上、下、左、...

[重点]JAVA布局管理
[重点]JAVA布局管理 JAVA布局管理 一、 FlowLayout(流布局管理):其组件的放置规律是从上到下,从左到右依次进行放置。构造 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 有下列几种: 1. FlowLayout():创建每行组件居中对齐、组件间距为5个像素单位。 2. FlowLayout(int align):创建指定每行的对齐方式、组件间距为5个像素单位。 align取值 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示组件的对齐方式:CENTER(居中对齐),LEFT(左对齐),RIGHT(右对齐)。 二、 BorderLayout(边框布局管理):将容器分为上、下、左、右、中五个区域,分别对应North(北区),South(南区),West(西区),East(东区)和Center(中区)。用add(component,index)方法向容器中添加组件,其中第二个参数指明组件位置,其取为:BorderLayout.North,BorderLayout.South,BorderLayout.East,BorderLayout.West,BorderLayout.Center。其构造方法有中下几种: 1. BorderLayout():创建组件间无间距的布局对象。 2. BorderLayout(int hgap,int vgap):创建指定组件间距的布局对象。 三、 GridLayout(网格布局管理器):将容器分成尺寸相同的网格,组件被放在网格的空白处,顺序与流式布局一样。网格中组件大小相同。其构造方法有下列几种: 1. GridLayout,,以每行一列的方式构建一个GridLayout对象。 2. GridLayout,int row,int columns,:根据指定行数和列数构造一个GridLayout对象,组件间距为0。 3. GridLayout,int row,int columns,int hgap,int,vgap,: 根据指定行数和列数构造一个GridLayout对象,组件间距按指定值设置。 四、 CardLayout( 卡片布局管理器):它将组件放在一系列卡片上,一次只能看到一张卡片,一张卡片只能放一个组件。使用构造方法CardLayout,,可以构建CardLayout对象。组件按添加顺序存放在卡片序列中,使用下列方法将组件添加到容器中: add(Component,component,String name); name是卡片中组件的标识。 为了使组件在使用CardLayout容器中可见,可使用 CardLayout对象的下列方法: 1,first(Container container):显示第一张卡片。 2) last(Container container):显示最后一张卡片。 3,nextContainer container):显示下一张卡片。 4,show(Container container,String name):显示容器中指定名称 的卡片。 五、 GridBagLayout(网格块布局管理器):与GridLayout 相似,不同的是GridBagLayout的组件大小可以不同,可以按任意顺序添加。使用较少。 举例: 1、 用户登录界面的创建: import javax.swing.*; import java.awt.*; publib class login{ public static void main(String agrs[]){ JFrame f=new JFrame(); f.setSize(220,120); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel l_username=new JLabel(“用户名”); JLabel l_password=new JLabel(“密码”); JTextField t_username=new JTextField(); JPasswordField t_password=new JPasswordField(); JButton b1=new JButton(“登录”); JButton b2=new JButton(“注册”); JButton b3=new JButton(“取消”); JPanel p1=new JPanel(); p1.setLayout(new GridLayout(2,2)); p1.add(l_username); p1.add(l_password); p1.add(t_username); p1.add(t_password); JPanel p2=new JPanel(); p2.setLayout(new FlowLayout()); p2.add(b1); p2.add(b2); p2.add(b3); f.setLayout(new BorderLayout()); f.add(p1,Border.CENTER); f.add(p2,Border.SOUTH); f.setVisible(true); } } JAVA事件处理 所谓事件处理,是指Java应用能够对某些事件作出响应。发出事件的对象称为事件源,对事件感兴趣的对象,称为监听器。事件处理就是事件源发出事件,监听器捕获事件并作出响应的过程。 事件可以来自Java应用程序范围之内,例如用户点击按钮,也可以来自应用程序范围之外,例如应用服务器关机等。一个事件中,通常包含一些必要的信息,例如事件源和事件类型等。在Java中,每种事件都是一个事件类,而具体的事件则是事件类的实例。 Java应用运行过程中,程序本身及其周边环境不断发生变化,可能的事件种类非常之多。对所有事件都响应是不现实的,因此,事件处理允许Java应用有选择地响应某些事件。这个选择感兴趣的事件的过程,称为注册。因此,所谓注册,就是某对象向事件源提出申请,表明自己对某类事件感兴趣,希望该事件发生时得到通知。提出申请的对象称为监听器。 监听器将接收到自己感兴趣的事件,其他不感兴趣的事件则接收不到。 监听器之所以要捕获某类事件,是因为这类事件与其有关系。例如,“确定”按钮的action事件的监听器,必须在按钮被点击时执行某种操作,如验证用户身份、查询购物清单或者将信息写入数据库等。监听器在事件发生时执行某种操作,称为对事件作出响应。 并非任何类都是监听器,Java对监听器的行为特征有一定的要求,这些要求的具体表现就是监听器接口。监听器接口 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 了监听器应该实现的功能,只有实现了监听器接口的类才是监听器。 一类事件可以由多个事件源产生,而注册在该事件类上的监听器也可以不止一个,因此,事件源、事件和监听器之间具有多对多的关系。这种多对多的关系,构成了对象之间相互沟通的网络,使得对象既可以协同一致,又能保持各自的相对独立。这正是事件驱动模式的精髓所在。 概括而言,Java事件驱动模式由以下几个部分组成: 事件类:定义事件的特征; 监听器接口:定义监听器应该实现的功能; 监听器:实现监听器接口,监听事件的发生并作出响应; 事件源:产生事件。 事件的定义、产生、监听和响应。 在Java中,事件是以类的形式表现的,这种类称为事件类。 所有的事件类必须继承Java事件基类,即java.util.EventObject。EventObject定义了事件类的共有特征,其中,最重要的属性是Object类型的source,这个属性指明了事件的来源,即事件源。EventObject类提供了getSource()方法来获取事件源,但并没有相应的setSource(Object source)方法设置事件源,事件源的设置,是在事件实例化时由构造方法EventObject(Object source)来实现的。EventObject(Object source)是EventObject唯一的构造方法,这意味着所有事件必须在实例化时就指定事件源。习惯上,事件类的名称由事件名称和字符串“Event”构成。 , 为了对事件作出响应,必须使用监听器。在代码上,监听器也表现为一个Java类,但不是任意的Java类都可以成为监听器,只有实现了监听器接口的Java类,才是监听器。 监听器接口定义了一个类要成为监听器必须具备的功能。每种事件类都有自己的监听器接口,不同事件类的监听器接口可以很不一样,但如同所有事件类必须继承事件基类java.util.EventObject一样,所有的监听器接口也都必须继承监听器接口基类java.util.EventListener。 , EventListener本身没有定义任何方法,它只是一个标志接口,用来表明所有继承自EventListener 的接口属于监听器接口。习惯上,监听器接口的名称中包含事件的名称。为了对事件作出响应,必须使用监听器。在代码上,监听器也表现为一个Java类,但不是任意的Java类都可以成为监听器,只有实现了监听器接口的Java类,才是监听器。 监听器接口定义了一个类要成为监听器必须具备的功能。每种事件类都有自己的监听器接口,不同事件类的监听器接口可以很不一样,但如同所有事件类必须继承事件基类java.util.EventObject一样,所有的监听器接口也都必须继承监听器接口基类java.util.EventListener。 EventListener本身没有定义任何方法,它只是一个标志接口,用来表明所有继承自EventListener 的接口属于监听器接口。习惯上,监听器接口的名称 中包含事件的名称,如processEvent或者handleEvent之类。通常事件处理方法应返回一个值,用来指示对事件的处理是否成功,可以是一个布尔值,也可以是其他类型的值。当然,如果事件及其处理很简单,也可以不返回任何值。 , 定义事件及其监听器接口后,即可定义监听器。 监听器是监听器接口的实现者,提供监听器接口中定义的所有方法的实现代码。简单情形下,一个监听器只监听一种类型的事件,即实现一种监听器接口。复杂的监听器可以实现多种监听器接口,监听多种类型的事件。 监听器中,最重要的,当然是事件处理方法代码。在事件处理方法代码中,监听器可以从入口参数中获得事件对象,并通过该对象获得所需的信息,例如事件源、事件发生时间等等。事件源是一定可以从事件对象中获得的,因为事件基类EventObject提供了getSource()方法,除此以外,能从事件对象中获得的信息,取决于事件类的定义。 , 事件处理方法从事件对象中获取所需信息,其目的是为了对事件作出必要的响应。如何响应一个事件,是与应用相关的。取决于应用的需求,对事件作 出的响应可以非常复杂,也可以十分简单。需要注意的是,由于事件通常会中断应用主代码的执行,因此,即使是非常复杂的事件处理代码,也要尽可能优化,以便执行得更快一些,否则,应用将会出现类似“死机”的现象,表现为屏幕停止刷新、鼠标点击失去反应等等。所有耗时或者导致程序阻塞的代码,例如采集用户键盘输入等,不应该包含在事件处理代码中。 , 我们已经定义了事件类、监听器接口和来必须定义产生事件的类,即事件源。事件源是Java事件驱动模式的启动者,只有事件源产生并发出事件,才能启动监听器对事件作出响应。 作为事件源的类,必需满足以下条件: 事件源必须在内部维护一个已注册监听器的列表。当某监听器注册时,该监听器被添加到列表中,而监听器注销时,则从列表中删除; 事件源必须提供注册方法,以允许监听器注册为事件的接收者; 事件源必须提供注销方法,以允许监听器注销,停止对事件的接收; 事件源必须能够实例化事件类,即产生事件对象; 当事件对象被产生后,事件源必须向所有的注册监听器广播该消息。事件的广播,是通过逐个调用监听器列表中所有监听器的事件处理方法来实现的。 在Java的事件驱动模式中,事件源是最复杂的。相对而言,监听器则简单得多。之所以这样安排,是因为多数情况下,程序员只需编写监听器的代码,而并不需要编写事件源代码。在Java的JDK中,通常已经定义好事件类、监听器接口和事件源,程序员只需编写监听器类,就能使用Java的事件驱动模式。 举例:在一个面板中放置一个“单击”按钮,点击此按钮时,将背景颜色设置为蓝色。 public class ThisClassEvent extends JFrame implements ActionListener{ JButton btn; public ThisClassEvent(){ super("Java事件监听机制"); setLayout(new FlowLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn=new JButton("点击"); btn.addActionListener(this); getContentPane().add(btn); setBounds(200,200,300,160); setVisible(true); } public void actionPerformed (ActionEvent e){ Container c=getContentPane(); c.setBackground(Color.blue); } public static void main(String args[]){ new ThisClassEvent(); } }
本文档为【[重点]JAVA布局管理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_614050
暂无简介~
格式:doc
大小:24KB
软件:Word
页数:0
分类:
上传时间:2018-02-20
浏览量:7