当前位置: 首页 > news >正文

西安做网站招聘无锡网站优化公司

西安做网站招聘,无锡网站优化公司,网络营销推广方法选择,本科学院网站建设方案在Java的GUI中布局是用来为容器划分区域的,这就决定了控件在容器中的摆放位置,从而为容器规划好分区方式常用的布局管理器有7中:FlowLayout、BorderLayout、GridLayout、BoxLayout、GridBagLayout、CardLayout、在一些顶层容器和面板中&#…

在Java的GUI中布局是用来为容器划分区域的,这就决定了控件在容器中的摆放位置,从而为容器规划好分区方式

常用的布局管理器有7中:FlowLayout、BorderLayout、GridLayout、BoxLayout、GridBagLayout、CardLayout、

在一些顶层容器和面板中,已经规定了默认的布局管理器:

javax.swing.JApplet——BorderLayout

javax.swing.JFrame——BorderLayout

javax.swing.JDialog——BorderLayout

javax.swing.JPanel­——FlowLayOut

除此之外。我们还能够自定义布局管理器,还能够一绝对位置坐标来制定组件在容器中的放置位置

由于布局管理器的创建和使用都非常的简单,所以下面我们只对这些布局管理器的功能和特殊的方法做一些简单的介绍,具体的方法查阅官方文档

《》FlowLayout流布局管理器

构造方法public FlowLayout(int align,int hgap,int vgap)

align——指定组件的对其方式:

FlowLayout.CENTER/ FlowLayout.LEFT/ FlowLayout.RIGHT

hgap和vgap分别指定放入其中的组件的水平间隙和垂直间隙

《》GridLayout网格布局管理器

网格布局管理器是将容器划分成具有指定行列的棋盘状的网格,在添加组件时从左到右,从上到下依次在各个网格中添加,当然我们也可以指定这些组件间的间隙

《》BorderLayout边界布局管理器

这个管理器将容器划分成五个矩形格分别为:

28554c99500668980f6c21710c54559c.png

分别由静态常量

BorderLayout.PAGE_START

BorderLayout.PAGE_EDN

BorderLayout.LINE_START

BorderLayout.LINE_END

BorderLayout.CENTER指定组件的放置位置

也能够指定组件之间的间隙

在基类中java.awt.Container中,有一个方法指专门用来限定组件的添加的方法:public void add( Component comp,Object constraints);我们可以将constraints设置为上面知道列出的那些常量值,从而指定组件的存放位置

《》BoxLayout盒式布局管理器

这个布局管理器允许多个组件在水平方向和竖直方向进行添加,而不受任何限制,只要指定布局管理器的组件添加方向,之后只要添加组件就自动将组件在已有组件的后方添加,不论添加多少都不会换行或者换列,即使已经超出当前设定的窗口的长度或宽度,所以可能有的组件是不够在当前窗口中显示的;但是这个布局管理器有一点非常的特殊,那就是当窗口改变时,添加到其中的组件的大小是并不发生变化的,不会像其他的管理器那样组件会随着窗口的改变而改变大小;但是这种布局管理器是非常的灵活的,可以通过容器的组合,创建一些不受限制的图形化窗口

构造方法也要注意一下:

public BoxLayout( Container target ,int axis) ;

实际在创建这种布局管理的实例是:

JFrame myFrame = new JFrame(“布局管理器”) ;

Container  c = myFrame.getContentPane() ;

c.setLayout(new BoxLayout(c,BoxLayout.X_AXIS));

需要注意的是虽然在BoxLayout的构造方法中已经制定了target对象是c,但是还是要通过使用setLayout方法来设定

axis——指定组件的添加方向:

BoxLayout.X_AXIS

BoxLayout.Y_AXIS

《》GridBagLayout网格包布局管理器

网格布局管理器将容器按行和列等分成棋盘,每个矩形的区域被称为单元格;而且允许加入的组件占用对个不同的连续的单元格

906580d851d155b407bddb338d55b5c3.png

一般来说,网格包布局管理器通常和网格包束缚(GridBagConstriants)类配合使用,网格包束缚类的对象是专门用于指定添加到网格包布局管理器中的组件的添加方式的对象,通过只用这个对象就能够按照程序员的意愿来讲组件添加到指定的位置上;我们首先来举一个例子,看看网格包布局管理器和网格包束缚类是如何配合使用达到上面的图像的显示那样的效果的

e038225b9bd3bed35c9b2e6aaffaef3c.png

afb9bfce1f2dd9abb9563c7a8310d5b0.png

接下来我们分析一下这些方法的实际意义:

(1)网格包布局管理器构造方法

public GridBagLayout()

网格包束缚构造方法

public GridBagConstraints() ;

(2)在java.awt.GridBagConstraints类中,有成员域:

public int gridx,gridy ;

分别是指定即将添加的组件在容器中的网格坐标。

public int gridwidth,gridheight;

分别指定即将添加的组件在容器中的宽和高

坐标和宽高分别是以单元格数为参考的;需要注意的是,网格包布局管理器类中并没有指定将容器划分成多少行列的方法,也就是说,实际上,这个布局管理器是根据当前添加进容器中的组件的实际情况来自行调整这些组件的实际占位和大小的,只要容器中的组件还没有添加完毕,那么所有的组件的最终的占位和大小实际上都是不能够确定的,也就是说我们指定的网格坐标和组件的大小实际上是一种逻辑上的指定,布局管理器按照我们的意图将添加的组件进行调整,但是一般情况下,结果和我们预想的效果是一致的。

(3)Java.awt.GridBagConstraints的成员域

public int fill ;

这个成员用来指定,组件在容器中的填充模式,就像程序中那样。我们都是用类中的静态常量来制定填充方式:

GridBagConstraints.NONE//不调整组件的大小

GridBagConstraints.HORIZONTAL

//调整组件的宽度,是组件在水平上填满指定的区域

GridBagConstraints.VERTICAL

//调整组件的长度,是组件在竖直上填满指定的区域

GridBagConstraints.BOTH

//调整组件的长和宽,是组建填满指定的区域

默认的填充方式是NONE,如果上面的程序中采用NONE填充方式的话,效果为:

5fce6095a5b357291c2746914d7f4408.png

(4)通过GridBagLayout的成员方法

public void setContraints(Component comp , GridBagConstraints constraints ) ;

使用这个方法就能够将comp组件和constraints指定的束缚对象联系起来,指定comp组件在添加到myFrame中时应该遵循的添加规则;最后将组件添加进去进行了

《》CardLayout选项卡布局管理器

这种布局管理器就像是一叠完全重合扑克牌一样,这些卡片共用一个显示区域,只是会根据用户的选择,将选择的卡片显示到最上面,他不仅能够顺序的显示这些卡片,也能够像上面那样显示任意的一张,但是要注意的是管理器并不会改变这些卡片的相对顺序;下面先用一个实例来理解一下:

145ad234de50aa33b2921f03d7ce3156.png

577aa9af0e51e6202d11de23a8e42042.png

际上在Button3的选项卡下面压着其他的选项卡;

(1)构造方法

public CardLayout() ;

public CardLayout(int hgap , int vgap) ;

参数指定选项卡与所在的容器的边界的水平、竖直间距

(2)如果某个容器或者面板使用了CardLayout作为管理器的话,就需要用使用容器或面板中的形如

public void add(Component cmp , Object obj) ;

public void add(String str, Component cmp) ;

的添加方法,只有这样才能够将选项卡和指定的对象联系起来

比如上面的例子中将String类型的索引和选项卡联系起来,就能够通过String字符串来找到对应的选项卡,否则,选项就会丢失;一般来说都是将选项卡和String字符串联系起来

(3)CardLayout中的一些成员方法:

public void next() ;

//将当前显示的选项卡放到最后,将下一张卡显示出来

public void previous() ;

//将最后的一张选项卡显示出来

注意上面的这两个方法的规则都说明了,这并不改变选项卡的相对顺序;

public void show(Container parent, String name )

//将指定的容器中的指定的选项卡显示出来

从上面的实例中可以知道实际上,我们都是将JList和CarLayout结合起来使用,才能够达到真正的实用效果,接下来我们通过一个综合实例来展示CardLayout的用法

最终的结果是:

96dda00ef46d297f444600ae88f8bce3.png

即选中不同的选项卡能够显示不同的颜色面板

4f9e267220ad8d0a441e36f0506ecd62.png

9829eabeb2317a0b4fcd63de52e8136d.png

《》JTabbedPane标签式对话框

在java.swing中提供了专门提供了一个标签式对话框容器类型的控件,他并不是布局管理器,但是能够完成和CardLayout相同的功能效果是:

91212a363796c152b09308754b24b58a.png

4011b30046945b28595bd0cbc1d00177.png

《》绝对定义方式

就像时说的那样,我们可以不适用任何的布局管理器,而是采用绝对定义方式来放置组件,需要注意的是,由于很多的容器已经有默认的布局管理器了,所以在采用绝对定义方式时,必须将默认的布局管理器关闭,方法非常的简单,那就是调用方法setLayout时将null作为参数传入,之后使用需要听过调用组件的setBounds()方法来指定组件的绝对位置

http://www.lbrq.cn/news/2523655.html

相关文章:

  • 做好网站建设的重要性武汉seo群
  • 武汉seo什么是网站推广优化
  • 做政府网站个人能做吗做seo需要用到什么软件
  • 做视频网站要多大带宽免费国外ddos网站
  • js网站模板怎么用西安企业网站seo
  • 有那些专门做外贸的网站呀自媒体十大平台
  • wordpress百度地图插件下载失败seo综合查询什么意思
  • 阿里云虚拟主机多网站吗如何自己开个网站平台
  • 天津市工商网站查询企业信息网址大全qq浏览器
  • 河西网站建设制作百度一下就一个
  • 淄博网站排名外包最新域名查询ip
  • 广西 网站建设免费服务器
  • 乐清做网站价格网站推广培训
  • 什么网站可以自己做房子设计网络推广外包哪个公司做的比较好
  • 莱芜政府网站官网网站交易
  • wordpress伪静态规则文件关键词排名关键词优化
  • 网站开发培训网站西安百度推广外包
  • 哪个网站是可以做书的企业网站大全
  • 龙岩网站制作公司网站制作教程
  • 厦门做网站优化多少钱网站自动推广软件
  • muse怎么做网站seo关键词优化培训
  • 人人车的网站找谁做的建立网站的基本步骤
  • 专业网站优化制作公司百度网站下载
  • 青岛网站设计手机怎么在百度上发布信息
  • 徐汇区网站建设哪家比较靠谱新人跑业务怎么找客户
  • 上海专业网站营销网站建设关键词排名
  • 上海个人网站制作公司高德北斗导航
  • 建站工具 风铃百度推广开户
  • 如何做网站商城国内产女装一线二线品牌知乎
  • wordpress运行加速长沙企业seo优化
  • pytorch小记(三十三):PyTorch 使用 TensorBoard 可视化训练过程(含完整示例)
  • Apache Ignite 集群标识(Cluster ID)和集群标签(Cluster Tag)
  • Prometheus-1--什么是Prometheus?
  • STM32F4—电源管理器
  • 【C++】手搓一个STL风格的vector容器
  • Android 解析 TrafficDescriptor 的 OSAPP 信息