- 浏览: 101989 次
- 性别:
- 来自: 北京
最新评论
-
vera_sq:
怎么得到的总是null呢?
关于Class.getClassLoader()空指针. -
729251283:
你的这种做法对吗?用你的方法不成功 。
maven tomcat结合,热部署,调试 -
mouer:
需要开启snmp
基于SNMP和JRobin的监控 -
liliugen:
跑步起来的代码,。无用
基于SNMP和JRobin的监控
-
1.BorderLayout
java.lang.Object
--java.awt.BorderLayout
将版面划分成东、西、南、北、中五个区域,将添加的组件按指定位置放置。
- BorderLayout.EAST
- BorderLayout.WEST
- BorderLayout.SOUTH
- BorderLayout.NORTH
- BorderLayout.CENTER
构造函数:
BorderLayout()
建立组件间无间距的BorderLayout
BorderLayout(int hgap,int vgap)
建立组件间水平间距为hgap,垂直间距为vgap的BorderLayout
例一:
运行结果:
在上例代码的第13,14行之间插入以下代码
f.setLayout(newBorderLayout(10,10));
运行结果:
2.FlowLayout
java.lang.Object
--java.awt.FlowLayout
组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行。
构造函数:
FlowLayout()
建立一个默认为居中对齐,组件彼此有5单位的水平与垂直间距的FlowLayout
FlowLayout(int align)
建立一个可设置排列方式且组件彼此有5单位的水平与垂直间距的FlowLayout
FlowLayout(int align,int hgap,int vgap)
建立一个可设置排列方式与组件间距的FlowLayout
例二:
运行结果:
3.GridLayout
java.lang.Object
--java.awt.GridLayout
矩形网格形式对容器的组件进行布置
构造函数:
GridLayout()
建立一个默认为一行一列的GridLayout
GridLayout(int rows,int cols)
建立一个指定行(rows)和列(cols)的GridLayout
GridLayout(int rows,int cols,int hgap,int vgap)
建立一个指定行(rows)和列(cols),且组件间水平间距为hgap、垂直间距为vgap的GridLayout
例三:
运行结果:
4.GridBagLayout
java.lang.Object
--java.awt.GridBagLayout
GridBagLayout以表格形式布置容器内的组件,将每个组件放置在每个单元格内,而一个单元格可以跨越多个单元格合并成一个单元格,即多个单元格可以组合成一个单元格,从而实现组件的自由布局。
构造函数:
GridBagLayout()
建立一个默认的GridBagLayout
每一个单元格都有各自的属性,而这些属性由GridBagConstrainsts类的成员变量来定义,且GridBagConstriaints中的所有成员变量都是public的。
java.lang.Object
--java.awt.GridBagConstratints
构造函数:
GridBagConstraints()
建立一个默认的GridBagConstraints
GridBagConstraints(intgridx,int gridy,int gridwidth,int gridheight,double weightx,double weighty,int anchor,int fill,Insets insets,int ipadx,int ipady)
建立一个指定其参数值的GridBagConstraints
GridBagConstraints的成员变量:
-
int gridx
-
int gridy
-
int gridwidth
-
int gridheight
-
double weightx
-
double weighty
-
int anchor
-
int fill
-
Insets insets
-
int ipadx
-
int ipady
gridx,gridy:设置组件所处行与列的起始坐标。例如gridx=0,gridy=0表示将组件放置在0行0列单元格内。
gridwidth,gridheight:设置组件横向与纵向的单元格跨越个数。
可以通过GridBagConstraints的RELETIVE,和REMAINDER来进行指定,它的用法是:
当把gridx值设置为 GridBagConstriants.RELETIVE时,所添加的组件将被放置在前一个组件的右侧。同理,对gridy 值设置为GridBagConstraints.RELETIVE时,所添加的组件将被放置在前一个组件的下方,(这是一种根据前一个组件而决定当前组 件的相对放置方式)
对gridweight和gridheight也 可以应用GridBagConstraints的REMAINDER方式,创建的组件会从创建的起点位置 开始一直延伸到容器所能允许的界限为止。该功能使得你可以创建跨越某些行或列的组件,从而改变相应方向上组件的数目,即使其后在布局的其他地方添加额外的 组件也是如此。
weightx,weighty:设置窗口变大时的缩放比例。
anchor:设置组件在单元格中的对齐方式。由以下常量来定义
GridBagConstraints.CENTER
GridBagConstraints.EAST
GridBagConstraints.WEST
GridBagConstraints.SOUTH
GridBagConstraints.NORTH
GridBagConstraints.SOUTHEAST
GrisBagConstraints.SOUTHWEST
GridBagConstraints.NORTHEAST
GridBagConstraints.NORTHWEST
fill:当某个组件未能填满单元格时,可由此属性设置横向、纵向或双向填满。由以下常量来定义
GridBagConstraints.NONE
GridBagConstraints.HORIZONTAL
GridBagConstraints.VERTICAL
GridBagConstraints.BOTH
insets:设置单元格的间距。
java.lang.Object
--java.awt.Insets
Insets(int top,int left,int bottom,int right)
ipadx,ipady:将单元格内的组件的最小尺寸横向或纵向扩大。若一个组件的尺寸为30*10像素,ipadx=2,ipady=3,则单元格内的组件最小尺寸为34*16像素
例四:
运行结果:
将窗口变大后的效果:
5.CardLayout
java.lang.Object
--java.awt.CardLayout
以层叠的方式布置组件,如同很多张卡片叠在一起,从而只能看到最上面的那一张卡片。
构造函数:
CardLayout()
建立一个无间距的CardLayout
CardLayout(int hgap,int vgap)
建立一个水平间距为hgap、垂直间距为vgap的CardLayout
例五:
运行结果:
按下Change按钮后的结果:
6.BoxLayout
java.lang.Object
--javax.swing.BoxLayout
以嵌套式盒子来管里容器的布局,通过将组件放入水平或垂直形盒子以多层嵌套的方式进行布局。
构造函数:
BoxLayout(Container target,int axis)
建立一个水平或垂直的BoxLayout,BoxLayout提供两个常数X_AXIS和Y_AXIS来表示水平或垂直排列。
说到BoxLayout,就不得不提到Box这个Container,Box这个Container默认的Layout为BoxLayout,而它只能使用这个Layout,否则编译时会有Error产生。
java.lang.Object
--javax.swing.Box
Box有水平的和垂直的两种形式。
构造函数:
Box(int axis)
建立一个Box Container(容器),并指定组件的排列方式,通过使用BoxLayout提供的两个常数X_AXIS和Y_AXIS来指定。
方法:
public static Box createHorizontalBox()
构造一个水平排列的Box组件。
运行结果:
public static Component createHorizontalGlue()
构造一个Glue组件可向水平方向延伸。
在上例17,18行间插入以下代码
box.add(Box.createHorizontalGlue());
运行结果:
将窗口变大后的效果:
public static Component createHorizontalStrut(int width)
构造一个水平指定宽度的Strut组件。
将上例代码改成以下代码
box.add(Box.createHorizontalStrut(50));运行结果:
public static Component createRigidArea(Dimension d)
构造一个指定长宽的二维Rigid组件。
将上例代码改成以下代码
box.add(Box.createRigidArea(newDimension(50,50)));运行结果:
public static Box createVerticalBox()
构造一个垂直排列的Box组件。
public static Component createVerticalGlue()
构造一个垂直的Glue组件。
public static Component createVerticalStrut(int height)
构造一个垂直的Strut组件。
public static Component createGlue()
构造一个Glue组件可向水平方向延伸。
Box.Fillter
Fillter是Box的inner class(内部类),它的功能与Rigid相似,都可以指定长宽的大小限制,且Fillter可以指定最大、较佳、最小的长宽大小。
发表评论
-
HotSpot是什么
2011-03-24 18:00 15761. HotSpot历史 SUN的JDK版本从1 ... -
Java.*和javax.*以及com.sun.*
2011-03-24 17:54 2025java.* 是j2se的标准库,是java标准的一部分,是对 ... -
关于Class.getClassLoader()空指针.
2009-10-12 14:11 1544ClassLoader cl = XXX.class.getC ... -
线程的异常捕获(非线程组方式)
2009-12-02 09:36 1411由于线程的种种特性,有时候我们不能捕获线程所抛出的异常,如下情 ... -
web页面代码关键字着色(类似于CSDN的插入代码)
2009-12-04 13:33 1289一直以来觉得CSDN和JAVAEYE的代码关键字着色很神奇.. ... -
Log4j配置文件
2009-12-04 14:54 810#%p 输出优先级,即DEBUG,INFO,WARN,ERRO ... -
对象池化技术(1)--为什么要使用
2009-12-14 14:18 964网上的转帖很多,其中我 ... -
对象池化技术(2)--一个简单的实现(基于apache的commons-pool)
2009-12-16 16:39 1560这几天没事的时候都在自己写池的通用方法..今天测试了下,性能超 ... -
Proxy模式以及java动态代理实现
2009-12-24 16:28 871一. Proxy模式定义: 为其他对象提供一种代理以控制这个对 ... -
ArrayList的初始化(可用作其他集合类)
2009-12-30 14:28 663public class Test { public ... -
基于SNMP和JRobin的监控
2010-01-05 19:47 834SNMP4J模拟SNMPGET public class S ... -
java线程死锁例子
2010-01-10 11:12 856public class DealLockTest imple ... -
java.util.concurrent下线程池总结(1)
2010-02-08 09:35 743首先,看下总的结构: Executors类,提供了一 ... -
java.util.concurrent下线程池总结(2)
2010-02-08 09:36 930生命周期: ExecutorService扩展了Execut ... -
终止程序(exit() and halt())
2010-03-11 05:50 1305public class Main extends Threa ... -
线程中断.
2010-03-12 02:14 631昨天试了试线程中断...代码如下: public cl ... -
Nutz Java 编码规范 (V1.0)
2010-04-28 08:07 707Nutz Java 编码规范 (V1.0) By:zozoh ... -
JAVA获取CLASSPATH路径
2010-05-10 10:47 793ClassLoader提供了两个方法用于从装载的类路径中取得资 ... -
传统socket举例--基于io
2010-05-10 15:34 743教程网上多的是,直接上代码.. ServerMain.j ... -
[jdk1.4]socket举例--基于nio
2010-05-12 11:51 1181直接上代码,后续文章会有io,nio比较.. Serv ...
相关推荐
Java Swing是Java GUI编程的重要库,它提供了丰富的组件和功能,让开发者能够创建桌面应用程序。在Swing中,布局管理器(LayoutManager)扮演着至关重要的角色,它负责控制组件在容器中的排列方式和大小。本篇文章将...
文档"javaswing教程.doc"应该包含了详细的步骤、实例代码以及最佳实践,帮助你深入理解和掌握Java Swing的界面设计技巧。 总之,Java Swing不仅是一个强大的工具集,也是开发者实现桌面应用创新设计的关键。通过这...
### Java Swing LayoutManager 的应用与布局管理器比较 #### 前言 Java Swing 是一个用于构建图形用户界面 (GUI) 的丰富库,它作为 AWT 的替代品被设计为完全由 Java 编写,从而提供了更多的灵活性和跨平台兼容性。...
本篇文章将深入探讨Java Swing中的LayoutManager,并以实际案例进行解析。 在Swing中,每个容器(如JFrame、JPanel等)都有一个内置的LayoutManager,它决定了容器内组件的布局。默认的布局管理器可能并不符合所有...
BorderLayout 是 Java Swing 中的一个布局管理器,继承自 java.awt.LayoutManager 类。BorderLayout 提供了一个基本的布局管理,可以用来布局组件。在上面的代码中,我们可以看到 BorderLayout 的使用,实现了一个...
Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。这个工具包提供了一系列组件,用于创建桌面应用程序,包括按钮、文本框、滚动面板、菜单等。本篇文章将深入...
布局管理器(LayoutManager)是Swing中控制组件在容器内排列的重要工具。不同的布局管理器有不同的排列策略,如FlowLayout(流式布局)、BorderLayout(边界布局)、GridLayout(网格布局)和GridBagLayout(网格包...
布局管理器(LayoutManager)是Swing中用于控制组件在容器内排列的重要工具,如FlowLayout、BorderLayout、GridLayout和GridBagLayout等。 事件处理是Swing应用中不可或缺的部分。Swing使用事件监听器(Event...
布局管理可能使用了Swing中的`LayoutManager`,例如`FlowLayout`或`BorderLayout`,它们决定了窗口内组件的排列方式。 `src`目录下包含了项目的源代码,可能包含`Clock.java`或其他相关类。`images`目录可能包含了...
Java Swing是Java GUI(图形用户界面)开发的重要库,它属于Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本资源"深入浅出Java Swing程序设计_11394260.rar"显然是一个关于Java Swing编程的详细...
Java Swing 是Java GUI编程的重要部分,它提供了丰富的组件和功能,使得开发者能够创建美观且功能齐全的桌面应用程序。本资源“java swing(影印版)”是一部针对Java Swing的学习教材,旨在帮助学习者掌握Swing的...
Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java AWT(抽象窗口工具包)的扩展,提供了更多丰富的组件和功能。在Swing中,`JPanel`是常用的一种容器组件,用于组合其他组件,实现复杂的用户界面。...
Java Swing 是Java GUI(图形用户界面)开发的重要组成部分,它是由Sun Microsystems开发的,作为Abstract Window Toolkit (AWT) 的增强版本。AWT是Java早期提供的GUI库,它依赖于本地系统来提供组件和功能,因此在...
Java Swing是Java GUI(图形用户界面)开发的重要库,它基于Java AWT(Abstract Window Toolkit)并提供了更丰富、更可定制的组件和事件处理机制。本教程将深入探讨Java Swing程序设计,帮助开发者掌握创建现代、...
此外,Swing应用程序通常会使用布局管理器(LayoutManager)来组织组件的位置和大小。常见的布局管理器有FlowLayout、BorderLayout、GridLayout和BoxLayout等,每个都有其特定的布局策略。开发者可以根据游戏界面的...
Java Swing是Java GUI(图形用户界面)编程的重要组成部分,它基于Java Foundation Classes (JFC) 平台,提供了丰富的组件库来创建桌面应用程序。在"精通Java Swing程序设计"这个资源中,我们可以深入学习如何利用...
Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java Foundation Classes (JFC) 的一部分。在Java中,Swing提供了丰富的组件集,用于创建功能强大的桌面应用程序。Swing设计的目标是提供一个轻量级、...