java布局管理GridBagLayout图形界面Java

摘要:java布局管理GridBagLayout,GridBaglayou(网格包布局管理器)是最灵活、最复杂的布局管理器。与GridLayout布局管理器类似,不同的是,它允许网格中的组件大小各不相同,而且允许一个组件跨越一个或者多个网格。。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

2022-07-0720:24网络推荐

GridBaglayou(网格包布局管理器)是最灵活、最复杂的布局管理器。与GridLayout布局管

理器类似,不同的是,它允许网格中的组件大小各不相同,而且允许一个组件跨越一个或者多个

网格。

使用GridBaglLayout布局管理器的步骤如下:

(1)创建GridBagLayout布局管理器,,并使容器采用该布局管理器

GridBagLayoutlayout=newGridBagLayout();

container.setLayout(layout);

GridBagConstraintsconstraints=newGridBagConstraints();

constraints.gridx=1;//设置网格左上角横向索引

constraints.gridy=1;//设置网格左上角纵向索引

constraints.gridwidth=1;//设置组件横向跨越网格

constraints.gridheight=1;//设置组件纵向跨越网格

(3)调用GridBagLayout对象的setConstraints()方法建立GridBagConstraints对象和受控

组件之间的关联

Layout.setConstraints(component,constraints);

(4)向容器中添加组件

container.add(conponent);

GridBagConstraints对象可以重复使用,只需要改变它的属性即可。如果要向容器

中添加多个组件,则重复(2).(3).(4)步骤。

从上面的步骤可以看出,使用GridBagLayout布局管理器的关键在于

GridBagConstraints对象,它才是控制容器中每个组件布局的核心类,在

GridBagConstraints中有很多表示约束的属性,下面对GridBagConstraints类的一些常

用属性进行介绍,如表11-3所示。

表11-3中,列出了GridBagConstraints的常用属性,其中,gridx和gridy用于设置

组件左上角所在网格的横向和纵向索引,gridwidth和gridheight用于设置组件横向、纵

向跨越几个网格,fill用于设置是否及如何改变组件大小,weightx和weighty用于设置

组件在容器中的水平方向和垂直方向的权重。

需要注意的是,如果希望组件的大小随着容器的增大而增大,必须同时设置

GridBagConstraints对象的fill属性和weightx.weighty属性。

接下来通过一个案例来演示GridBagLayout的用法,如例11-11所示。

例11-11Example11.java;’

importjava.awt.*;

classLayoutextendsFrame{

publicLayout(Stringtitle){

GridBagConstraintsc=newGridBagConstraints();

this.setLayout(layout);

c.fill=GridBagConstraints.BOTH;//设置组件横向纵向可以拉伸

c.weightx=1;//设置横向权重为1

c.weighty=1;//设置纵向权重为1

this.addComponent("btn1",layout,c);

this.addComponent("btn2",layout,c);

this.addComponent("btn3",layout,c);

c.gridwidth=GridBagConstraints.REMAINDER;//添加的组件是本行最后一个组件

this.addComponent("btn4",layout,c);

c.weightx=0;//设置横向权重为0

c.weighty=0;//设置纵向权重为0

addComponent("btn5",layout,c);

c.gridwidth=1;//设置组件跨一个网格(默认值)

this.addComponent("btn6",layout,c);

this.addComponent("btn7",layout,c);

c.gridheight=2;//设置组件纵向跨两个网格

c.gridwidth=1;//设置组件横向跨一个网格

c.weightx=2;//设置横向权重为2

c.weighty=2;//设置纵向权重为2

this.addComponent("btn8",layout,c);

c.gridwidth=GridBagConstraints.REMAINDER;

c.gridheight=1;

this.addComponent("btn11",layout,c);

this.addComponent("btn10",layout,c);

this.pack();

this.setVisible(true);

}

//增加组件的方法

privatevoidaddComponent(Stringname,GridBagLayoutlayout,

GridBagConstraintsc){

Buttonbt=newButton(name);//创建一个名为name的按钮

layout.setConstraints(bt,c);//设置GridBagConstraints对象和按钮的关联

this.add(bt);//增加按钮

publicclassExample11{

publicstaticvoidmain(String[]args){

newLayout("GridBagLayout");

编译运行程序,生成的窗口如图11-20所示。

图11-20例11-11运行结果

例11-11中,向GridBagLayout布局管理器中添加10个按钮。由于每次添加组件的时候都

以将这段关联的代码抽取到addComponent()方法当中,简化书写。

在添加button1~button4按钮和button8~button10按钮时,都将权重weightx和weighty

的值设置为大于0,因此在拉伸窗口时,这些按钮都会随着窗口增大,而在添加button5~button7

按钮时,将权重值设置为0,这样它们的高度在拉伸时没有变化,但长度受上下组件的影响,还是

THE END
1.GridBagLayout网格组布局OSCHINA由GridBagLayout 类实现的布局管理器称为网格组布局管理器,它实现了一个动态的矩形网格,这个矩形网格由无数个矩形单元组成,每个组件可以占用一个或多个这样的单元格。 在向由 GridBagLayout 类管理的容器中添加组件时,需要为每个组件创建一个与之关联的 GridBagConstraints 类的对象,通过该类中的属性可以设置组件的布局...https://my.oschina.net/kaipan/blog/160669
2.GridLayout(Java2PlatformSE5.0)从类java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait构造方法详细信息GridLayoutpublic GridLayout()创建具有默认值的网格布局,即每个组件占据一行一列。 从以下版本开始: JDK1.1GridLayout...http://jszx-jxpt.cuit.edu.cn/javaapi/java/awt/GridLayout.html
3.《Java项目开发实训教程》(宗哲玲)305“对话面板”(采用边界布局)放置“外部分割面板”(采用左右分割)左侧:放置“内部分割”面板(采用上下分割)右侧:放置“表格面板”上方:“数据面板”(采用绝对布局,放置各组件)下方:“按钮面板”(采用网格包布局,放置各按钮)three3.方法设计构造方法UserUpkeep()用于完成“用户维护”界面的初始化工作,界面布局设计如下...https://max.book118.com/html/2022/0807/5243130004004321.shtm
1.JAVA网格布局如何设置网格大小mob64ca12e6b22d的技术博客JAVA网格布局如何设置网格大小 在JAVA Swing中,网格布局是一种常见的布局管理器,可以将组件以网格的形式排列。每个组件都可以占据一个或多个网格单元,并且可以根据需要进行动态调整和调整大小。 在本文中,我们将介绍如何使用JAVA网格布局设置网格大小,并提供一个具体的示例来解决一个问题。 https://blog.51cto.com/u_16213391/7500056
2.JavaSwingGridLayout网格布局的实现代码java网格布局资源网格布局 Swing GridLayout 67 浏览量2020-08-25上传评论收藏56KBPDF举报 立即下载开通VIP(低至0.43/天) 买1年送1年 JavaSwing GridLayout 网格布局的实现代码 JavaSwing GridLayout 网格布局是JavaSwing库中的一种常用布局管理器,用于在容器中排列组件。下面将详细介绍JavaSwing GridLayout 网格布局的实现代码。 我...https://download.csdn.net/download/weixin_38587130/12744640
3.Java开发GUI之GridLayout网格布局Java开发GUI之GridLayout网格布局 GridLayout是简单的网格布局,使用其可以方便的实现多行多列的布局样式。 static void GridLayoutTest(){ Frame frame = new Frame("Grid"); GridLayout layout = new GridLayout(2, 3, 10, 10); Panel pannel = new Panel(layout); ...https://www.ctyun.cn/zhishi/p-336839
4.java常用的布局管理器有哪些问答Java常用的布局管理器有以下几种: BorderLayout(边界布局管理器):将容器分为东、西、南、北和中间5个区域,组件可以放置在这5个区域中。 FlowLayout(流布局管理器):按照添加的顺序依次排列组件,当一行放不下时会自动换行。 GridLayout(网格布局管理器):将容器分为行和列的网格,组件会按照网格的顺序从左到右、...https://www.yisu.com/ask/59854774.html
5.Bootstrap5布局表格网格极客教程例子2:在这个例子中,我们将使用.row和.col-*类创建不同尺寸的表格网格布局。<!DOCTYPE html> Bootstrap 5 Layout Form grid https://geek-docs.com/bootstrap/bootstrap-5/bootstrap-5-layout-form-grid.html
6.Android布局——线性布局相对布局帧布局表格布局网格布局...简介:Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局 1.概述 1.1 布局的作用:布局是对界面结构的全面规划和安排,通过api中提供的各种布局能够快速的完成对界面的设计和规划 1.2 布局的种类:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)、网格...http://www.jaozi.cn/?article/1477149
7.java中Swing五种常见的布局方式java本文通过代码示例给大家详细讲解了java中Swing五种常见的布局方式,以及相关注意知识点,有兴趣的朋友参考学习下。1、 边界布局(BorderLayout) 2、流式布局(FlowLayout) 3、网格布局(GridLayout) 4、盒子布局(BoxLaYout) 5、空布局(null) 还有其他两种布局,分别是GridBagLayout(网格包布局)、CardLayout(卡片布局) 注意...https://www.jb51.net/article/135684.htm
8.JAVA——45.flowlayout和gridlayout布局构造方法:GridLayout(int rows, int cols) :用指定的行数和列数创建网格布局。 package org.zhaiyujia.test1;import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class Guitest1 extends JFrame { JButton b1,b2,b3,b4,b5; JPanel p; publi...https://www.tulingxueyuan.cn/tlzx/jsp/2833.html
9.Java一分钟之JavaFX布局管理:GridPane,VBox,HBoxJavaFX是Java的一个强大的图形用户界面(GUI)工具包,提供了多种布局管理器来帮助开发者组织和控制窗口中的控件。在本篇博客中,我们将深入探讨三种常用的布局管理器:GridPane、VBox和HBox,并讨论一些常见问题、易错点及如何避免它们。 1. GridPane GridPane允许你创建一个二维网格来放置控件。每个控件都有固定的行和列位...https://cloud.tencent.com/developer/article/2422499
10.Android15.0UI开发(六)——列表控件RecyclerView的网格布局...1.0 列表控件RecyclerView的网格布局排列实现,关键词GridLayoutManager。 LinearLayoutManager 实现顺序布局 GridLayoutManager 实现网格布局 StaggeredGridLayoutManager 实现瀑布流布局 2.0 新建项目RecyclerviewTest,目录如下: image 3.0 这里需要在app/build.gradle中配置,导入依赖包: ...https://www.jianshu.com/p/3446af05b1e8