Java——GridLayout网格布局

┏(ω)=☞ 本专栏的目录(为您提供更好的查询方式)(点这里说不定有你想要的)

GridLayout

public GridLayout(int rows, int cols, int hgap, int vgap)
创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。此外,将水平和垂直间距设置为指定值。水平间距将置于列与列之间。将垂直间距将置于行与行之间。
rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。 所有 GridLayout 构造方法都服从这一规定。
参数:
rows - 该 rows 具有表示任意行数的值零
cols - 该 cols 具有表示任意列数的值零
hgap - 水平间距
vgap - 垂直间距

代码演示

package wyg;

import java.awt.GridLayout;

import javax.swing.*;

public class s {

	public static void main(String[] args) {
		JFrame JF = new JFrame();
		JF.setBounds(300,200, 500, 500);//窗口大小
		JPanel A = new JPanel();//创建一个面板
		JLabel B = new JLabel("1", JLabel.CENTER);//创建文本
		JLabel C = new JLabel("2", JLabel.LEFT);
		JLabel D = new JLabel("3", JLabel.RIGHT);
		JTextField a = new JTextField();//创建文本框
		JTextField b = new JTextField();
		JTextField c = new JTextField();
		A.setLayout(new GridLayout(3, 2,5,4));//面板设置布局为网格布局,窗口分为:水平方向三格,垂直方向两格,水平方向间距五,垂直方向间距四
		//添加的位置是由左往右添加
		A.add(B);//向左上角第一个位置添加B文本
		A.add(a);
		A.add(C);
		A.add(b);
		A.add(D);
		A.add(c);
		JF.add(A);
		JF.setDefaultCloseOperation(3);
		JF.setVisible(true);
	}

}

GridLayout的部分方法介绍(API)

将具有指定名称的指定组件添加到布局。

addLayoutComponent(String name, Component comp)

获取此布局中的列数。

getColumns()

获取组件之间的水平间距。

getHgap()

获取此布局中的行数。

getRows()

获取组件之间的垂直间距。

getVgap()

使用此布局布置指定容器。

layoutContainer(Container parent)

使用此网络布局确定最小大小的容器参数。

Dimension minimumLayoutSize(Container parent)

使用此网格布局确定容器参数的首选大小。

Dimension preferredLayoutSize(Container parent)

从布局移除指定组件。

removeLayoutComponent(Component comp)

将此布局中的列数设置为指定值。

setColumns(int cols)

将组件之间的水平间距设置为指定值。

setHgap(int hgap)

将此布局中的行数设置为指定值。

setRows(int rows)

将组件之间的垂直间距设置为指定值。

setVgap(int vgap)

返回此网格布局的值的字符串表示形式。

toString()

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
三十一、Java 图形化界面设计——布局管理器之 GridLayout网格布局网格布局特点: l 使容器中的各组件呈 M 行×N 列的网格状分布。 l 网格每列宽度相同,等于容器的宽度除以网格的列数。 l 网格每行高度相同,等于容器的高度除以网格的行数。 l 各组件的排列方式为:从上到下,从左到右。 l 组件放入容器的次序决定了它在容器中的位置。 l 容器大小改变时,组件的相对位置不变,大小会改变。 l 设置网格布局行数和列数时,行数或者列数可以有一个为零。若 rows 为 0,cols 为 3,则列数固定为 3,行数不限,每行只能放 3 个控 件或容器。若 cols 为 0,rows 为 3,则行数固定为 3,列数不限,且每 行必定有控件,若组件个数不能整除行数,则除去最后一行外的所有 行组件个数为:Math.ceil(组件个数/rows)。 Math.ceil(double x):传回不小于 x 的最小整数值。比如行数为 3,组件 数为 13 个,则 Math.ceil(13/3)=5,即第一行,第二行组件数各为 5 个, 剩下的组件放在最后一行。 3、管路敷设技术 通1过管线0不仅2222可以解决吊顶层配置不规范高中资料试卷问题22,而且可保障2323各类管路习题到位。在管路敷设过程1中,要加强看255222护1关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置.保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。 4、电气课件中调试技术 对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 5、电气设备调试高中资料试卷技术 电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。 l 若组件数超过网格设定的个数,则布局管理器会自动增加网格个数, 原则是保持行数不变。 构造方法摘要 GridLayout(): 创建具有默认值的网格布局,即每个组件占 据一行一列。 GridLayout(int rows, int cols) : 创建具有指定行数和列数的网格布局。Rows 为行数,cols 为列数。 GridLayout(int rows, int cols, int hgap, int vgap) : 创建具有指定行数、列数以及组件水平、纵向一定间距的 网格布局。 方法摘要 int getColumns() :获取此布局中的列数。 3、管路敷设技术 通1过管线0不仅2222可以解决吊顶层配置不规范高中资料试卷问题22,而且可保障2323各类管路习题到位。在管路敷设过程1中,要加强看255222护1关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置.保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。 4、电气课件中调试技术 对全部高中资料试卷电气设备,在安
使用Java网格布局时,可以通过设置组件的水平和垂直方向上的对齐方式,将组件内容居中。具体代码如下: ``` import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class GridBagLayoutDemo extends JFrame { public GridBagLayoutDemo() { initComponents(); } private void initComponents() { setTitle("GridBagLayout Demo"); JPanel panel = new JPanel(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = 0; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; JLabel label1 = new JLabel("Label 1"); panel.add(label1, c); c.gridx = 1; c.gridy = 0; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; JLabel label2 = new JLabel("Label 2"); panel.add(label2, c); c.gridx = 0; c.gridy = 1; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; JButton button1 = new JButton("Button 1"); panel.add(button1, c); c.gridx = 1; c.gridy = 1; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; JButton button2 = new JButton("Button 2"); panel.add(button2, c); getContentPane().add(panel); pack(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); } public static void main(String[] args) { new GridBagLayoutDemo().setVisible(true); } } ``` 在上面的示例代码中,我使用了GridBagConstraints类对组件的位置、对齐方式等进行了设置。其中,设置了组件的anchor属性为CENTER,表示组件在水平和垂直方向上都居中对齐。通过这种方式,即可实现Java网格布局中组件内容居中的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桂?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值