图片-小白之家
图片-小白之家
图片-小白之家
图片-小白之家

swing布局(java五种常用的布局管理器)

在讨论每个Swing组件(例如:文本域和单选按钮)之前,首要介绍一下怎么把这些组件摆放在一个结构内。与VisualBasic不同,因为在JDK中没有表单规划器,所以需求通过编写代码来定制(布局)用户界面组件所在的方位。

当然,假如有支撑Java的开发环境,就可能有某种布局东西来部分自动地或悉数自动地完结这些布局任务。但是,澄清底层的完成办法是非常重要的,因为即便最好的东西有时也需求手艺编码。

如图一所示,这几个按钮被放置在一个JPanel目标中,且用流布局管理器(flowlayoutmanager)管理,这是面板的默许布局管理器。图2展示了向面板中增加多个按钮后的作用。正如读者所看到的,当一行的空间不够时,会将显现在新的一行上。

别的,按钮总是位于面板的中心,即便用户对结构进行缩放也是如此。

一般,组件放置在容器中,布局管理器决议容器中的组件详细放置的方位和巨细。

按钮、文本域和其他的用户界面元素都承继于Component类,组件能够放置在面板这样的容器中。因为Container类承继于Component类,所以容器也能够放置在另一个容器中。图3给出了Component的类层次结构。

注释:惋惜的是,承继层次有两点显得有点紊乱。首要,像JFrame这样的顶层窗口是Container的子类,所以也是Component的子类,但却不能放在其他容器内。别的,JComponent是Container的子类,但不直接承继Component,因此,能够将其他组件增加到JButton中。(但无论怎么,这些组件无法显现出来)。

每个容器都有一个默许的布局管理器,但能够重新进行设置。例如,运用下列句子:

这个面板将用GridLayout类布局组件。能够往容器中增加组件。容器的add办法将把组件和放置的方位传递给布局管理器。

边框布局

边框布局管理器(borderlayoutmanager)是每个JFrame的内容窗格的默许布局管理器。流布局管理器彻底控制每个组件的放置方位,边框布局管理器则否则,它允许为每个组件挑选一个放置方位。能够挑选把组件放在内容窗格的中部、北部、南部、东部或许西部。如图4所示。

例如:

先放置边缘组件,剩下的可用空间由中心组件占据。当容器被缩放时,边缘组件的尺度不会改动,而中部组件的巨细会发生变化。在增加组件时能够指定BorderLayout类中的CENTER、NORTH、SOUTH、EAST和WEST常量。并非需求占用一切的方位,假如没有提供任何值,体系默许为CENTER。

注释:BorderLayout常量界说为字符串。例如:BorderLayout.SOUTH界说为字符串“SOUTH”。许多程序员喜欢直接运用字符串,因为这些字符串比较简略,例如,frame.add(component,“SOUTH”)。但是,假如字符串拼写有误,编译器不会捕获过错。

与流布局不同,边框布局会扩展一切组件的尺度以便填满可用空间(流布局将保持每个组件的最佳尺度)。当将一个按钮增加到容器中时会出现问题:

图五给出了执行上述句子的显现作用。按钮扩展至填满结构的整个南部区域。而且,假如再将别的一个按钮增加到南部区域,就会取代第一个按钮。

解决这个问题的常见办法是运用别的一个面板(panel)。例如,如图六所示。屏幕底部的三个按钮悉数包含在一个面板中。这个面板被放置在内容窗格的南部。

要想得到这种装备作用,首要需求创立一个新的JPanel目标,然后逐一将按钮增加到面板中。面板的默许布局管理器是FlowLayout,这刚好符合我们的需求。随后运用在前面现已看到的add办法将每个按钮增加到面板中。每个按钮的放置方位和尺度彻底处于FlowLayout布局管理器的控制之下。这意味着这些按钮将置于面板的中心,而且不会扩展至填满整个面板区域。最后,将这个面板增加到结构的内容窗格中。

边框布局管理器将会扩展面板巨细,直至填满整个南部区域。

网格布局

网格布局像电子数据表相同,按队伍摆放一切的组件。不过,它的每个单元巨细都是相同的。图六显现的核算器程序就运用了网格布局来摆放核算器按钮。当缩放窗口时,核算器按钮将随之变大或变小,但一切的按钮尺度始终保持一致。

在网格布局目标的结构器中,需求指定行数和列数。增加组件,从第一行的第一列开始,然后是第一行的第二列,以此类推。这是一个惯例的核算器,而不像Java指南中所说到的“逆波兰”那样古怪。在这个程序中,在将组件增加到结构之后,调用了pack办法。这个办法运用一切组件的最佳巨细来核算结构的高度和宽度。

当然,很少有像核算器这样规整的布局。实际上,在安排窗口的布局时小网格(一般只有一行或许一列)比较有用。例如,假如想放置一行尺度都相同的按钮,就能够将这些按钮放置在一个面板里,这个面板运用只有一行的网格布局进行管理。
图片[1]-swing布局(java五种常用的布局管理器)-小白之家,java五种常用的布局管理器,怎么才6种呢?10多20种,你自已去JAVA的API里面查看吧,

java.awt包中大约有

FlowLayout流式布局

BorderLayout边框式布局

GridLayout网格布局

CardLayout卡片布局

GridBagLayout杂乱的网格布局

javax.swing包中大约有如下布局

BoxLayout盒式布局

OverlayLayout堆叠布局

ScrollPaneLayout类JScrollPane运用的布局管理器

ViewportLayout类JViewport运用的布局管理器

答案2:JAVA中,Frame和Panel默许的布局管理器分别是什么类型?

JAVA中,Framel默许的布局管理器是BorderLayout类型,Panel默许的布局管理器是FlowLayout类型。

FlowLayout是Panel和Applet的默许布局管理器。在该布局管理器中,组件在容器中按照从上到下,从左到右的次序进行摆放,行满后则换行。

BorderLayout是Window、Frame和Dialog的默许布局管理器,其将容器分红North、South、East、West和Center5个区域,每个区域只能放置一个组件。运用BorderLayout时,假如容器巨细产生改换,组件的相对方位不变。

扩展材料:

其它相关的布局管理器:

1、网格布局管理器(GridLayout):

GridLayout可使容器中的各个组件呈网格状布局,平局占有容器的空间,即便容器的巨细产生变化,每个组件仍是平均占有容器的空间。和FlowLayout相同,GridLayout也是按照从上到下,从左到右的规律进行摆放的。

2、卡片布局管理器(CardLayout):

CardLayout能够帮助用户处理两个乃至跟多的成员共享同一显现空间。它把容器分红许多层,每层的显现空间占有整个容器的巨细,并且每层之答应反之一个组件,能够通过Panel来实现每层杂乱的用户界面。

答案3:Java的AWT包与Swing包供给了那些布局管理器

布局管理器分为6种:

FlowLayout流式布局管理器

GridLayout网格布局管理器

GridBagLayout网格包布局管理器

BorderLayout边界布局管理器

CardLayout卡片布局管理器

BoxLayout

这个是Swing与AWT新增加的。

答案4:布局管理器的效果是什么?JAVA供给了哪几种布局管理器?

操控组件在窗体中的摆放次序和方位,常用的布局管理器有:

FlowLayout流式布局

BorderLayout边框式布局

GridLayout网格布局

CardLayout卡片布局

GridBagLayout杂乱的网格布局

还有其他的布局管理器具体请看API

答案5:java中,布局管理器的意义和基本特色是什么

JAVA是与渠道无关的,什么叫与渠道无关呢,就是应用程序的界面的巨细,方位与硬件没关系,与渠道无关就是说你不能通过setSize()这样的办法去设置窗体中组件的巨细。由此问题产生了。

当一个窗体中有文本控件,又有标签,还有按钮,这时你怎么操控它们在窗体中的摆放次序和方位呢,JAVA定义了布局管理器来处理这个问题

这就是布局管理器的效果

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

图片-小白之家
图片-小白之家