导航:首页 > 编程语言 > java什么是布局管理器

java什么是布局管理器

发布时间:2024-11-14 10:27:29

‘壹’ java 布局管理器 是怎么一回事

不管按钮还是文本框都会有自己默认的大小设置方式,所有你的布局不会产出预计的结果。如下图:

按照你上面布局,理论上会出现图1布局,但是实际是图2布局方式。因为按钮会有自己的默认大小设置方式,当组件(按钮)的显示区域小于它所请求的显示区域的大小时,可用GridBagConstraints的fill属性设置布局方式。

即:在第13行和14行之间添加代码:c.fill=GridBagConstraints.BOTH;结果就会出现图1所示的效果。

‘贰’ Java中如何设置在JFrame中控件的位置和大小

Java中通过布局管理器(LayoutManager)来布局控件。

常见的布局管理器如下:

  1. BorderLayout:Frame和Dialog的默认布局管理器。其把面板分为上北、下南、左西、右东和中间,5个部分,在未指定控件大小的情况下,被加入的控件将会随着内容大小自动伸缩,随着窗口的放大缩小也相应的产生伸缩。

  2. FlowLayout :按顺序布局控件。所有控件按照流水一样排列,若当前行放不下了,则自动排到下一行。按子控件的大小(getPreferedSize())在当前面板布局。

  3. GridLayout :网格布局。该布局将所有控件按从左到右,从上到下的形式把控件以网格的形式排列出来。子控件会填满整个面板。

  4. GridBagLayout :网格包布局。能布局复杂界面,但其使用也很复杂,一般不用。

  5. null布局:即将布局管理器设置为null。此时,通过调用子控件的setBounds方法进行布局。

  6. 其他布局管理器。以上是Java内置的常用布局管理器,还有一些非官方的好用布局管理器:XYLayout(按大小和位置布局)、VerticalFlowLayout (纵向流水布局)、TableLayout(表格布局)。

一般的Java程序布局方式:用FlowLayout布局一些按钮,用BorderLayout嵌套多个面板。

‘叁’ java GUI布局管理器---FlowLayout流动布局管理器

FlowLayout 是一种简单的布局管理器,与 MATLAB 中的 GUI 设计类似。其主要用途在于将组件按照添加顺序从左向右放置,直到边界,之后组件自动移到下一行。

FlowLayout 的构造方法为 FlowLayout(int align, int hgap, int vgap),允许指定组件的对齐方式和水平、垂直间距。若不提供参数,默认组件居中对齐,水平、垂直间距默认为5个单位。

参数 align 决定组件在每行中的对齐方式,可选择左对齐(FlowLayout.LEFT)、右对齐(FlowLayout.RIGHT)或居中对齐(FlowLayout.CENTER)。hgap 和 vgap 分别设定组件之间的水平和垂直间距。

下面是一个详细案例,展示了如何使用 FlowLayout 来布局按钮组件。

通过导入必要的 Java AWT 和 Swing 库,定义一个名为 FlowLayoutTemp 的公共类。

在该类中,创建一个名为 creatshowGUI 的静态方法,用于创建并显示使用 FlowLayout 的窗体。

在 creatshowGUI 方法中,创建一个名为 FlowLayout 的 JFrame 窗体,并设置其标题为 "FlowLayout"。使用 FlowLayout 构造方法设置组件的对齐方式为左对齐,水平间距为20,垂直间距为30。

接着,设置窗体的大小和显示位置,并将多个按钮组件添加到窗体中。

最后,使窗体可见,并设置关闭事件为当窗口关闭时程序退出。

在 main 方法中,调用 SwingUtilities 工具类的 invokeLater 方法,传入 creatshowGUI 方法,以显示 GUI。

运行此代码,将看到一个使用 FlowLayout 布局的窗口,包含多个按钮组件,排列方式符合设计要求。

通过本案例,可以直观地了解如何使用 FlowLayout 来实现组件的流动布局管理。

阅读全文

与java什么是布局管理器相关的资料

热点内容
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:13
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:823
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246
java马克思 浏览:118
在设置的应用加密为啥没有微信 浏览:307
安卓中基本的ui是什么 浏览:754
php邮件phpini 浏览:629
android聊天时间显示时间 浏览:864
涿鹿小杨看海是零成本的解压方式 浏览:683
建行app开通手机银行需要什么 浏览:515