Java_GUI_布局_网格组布局

Java学习day081 Swing用户界面组件(六:复杂的布局管理)(网格组布局、组布局、不使用布局管理器、定制布局管理器、遍历顺序) 使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识。 day080 Swing用户界面组件(五:复杂的布局管理)(网格组布局、组布局、不使用布局管理器、定制布局管理器、遍历顺序) ... 阅读详情

import java.awt.Component;
import java.awt.Container;
import java.awt.GraphicsEnvironment;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class GirdBagLayoutTest
{

    public static void main(String[] args)
    {
        GirdBagLayoutFrame frame = new GirdBagLayoutFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

class GirdBagLayoutFrame extends JFrame
{
    public GirdBagLayoutFrame()
    {
        setTitle("网格组事件");
        setSize(300, 200);

        Container con = getContentPane();
        GirdBagLayoutPanel panel = new GirdBagLayoutPanel();
        con.add(panel);
    }
}

class GirdBagLayoutPanel extends JPanel
{
    public JLabel lname, lsize;

    public JComboBox cname, csize;

    public JCheckBox bold, italic;

    public JTextArea area;

    public GirdBagLayoutPanel()
    {
        lname = new JLabel("Name");
        lsize = new JLabel("Size");
        String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment()
                .getAvailableFontFamilyNames();

        cname = new JComboBox(fonts);
        csize = new JComboBox(new String[]
        { "8", "12", "14", "16", "18", "20", "24", "26", "36" });

        bold = new JCheckBox("Bold");
        italic = new JCheckBox("Italic");
        area = new JTextArea("欢迎来到太湖");
        area.setLineWrap(true);//自动换行
        //实例化网格组布局
        GridBagLayout layout = new GridBagLayout();
        //设置布局管理
        setLayout(layout);
        //实例化网格组布局的限制类(此类协助网格组布局类完成工作)
        GridBagConstraints constraints = new GridBagConstraints();
       
        constraints.anchor = GridBagConstraints.EAST;//居右对其
        constraints.fill = GridBagConstraints.NONE;//不填充
        constraints.weightx = 0; //水平方向不缩放
        constraints.weighty = 0; //垂直方向不缩放  0代表不缩放 100代表缩放
        addObj(constraints,0,0,1,1,lname);
        addObj(constraints,0,1,1,1,lsize);
       
        constraints.fill = GridBagConstraints.HORIZONTAL;//水平填充
        constraints.weightx = 100;//水平缩放
        addObj(constraints,1,0,1,1,cname);
        addObj(constraints,1,1,1,1,csize);
       
        constraints.weighty = 100;//垂直缩放
        constraints.fill = GridBagConstraints.NONE;//不填充
        constraints.anchor = GridBagConstraints.CENTER;//居中对其
        addObj(constraints,0,2,2,1,bold);
        addObj(constraints,0,3,2,1,italic);
       
        constraints.fill = GridBagConstraints.BOTH;//水平垂直都填充
        addObj(constraints,2,0,1,4,area);
                     
    }
   
    //方法
    public void addObj(GridBagConstraints gc,int x,int y,int w,int h,
            Component c)//传递参数 Component 主键
    {
        gc.gridx = x;
        gc.gridy = y;
        gc.gridwidth = w;
        gc.gridheight = h;
        add(c,gc);
    }
}

死磕Java系列之Java GUI 窗体和布局 窗体是底层容器,用于放各种组件,常见的容器有JFrame和JDialog两种,JPanel是中间容器,可以放在底层容器中,使用中间容器便于基本组件的管理。布局管理是将容器中的组件按照一定的规则和方式放在容器中。那么,如何定义一个容器呢?容器有大有小,有位置,有标题,这些如何设计呢?中间容器是底层容器和组件的缓冲器,那么,一个框架中可以有两个JPanel?如何在Jpanel中加入各种组件呢?界面布局... 阅读详情

相关推荐

Java图形用户界面布局管理器详解

本文深入探讨了Java中Swing组件的布局管理器,特别是工具栏的拖拽、自定义组件添加以及工具提示的实现。同时,详细解析了网格组布局的使用方法,包括组件约束的设置和NetBeans GUI设计工具的介绍,旨在帮助读者更好地理解和运用Java中的布局管理。

weixin_31185473的博客 882

Java GUI(图形用户界面)-----GridLayout(网格布局管理器)详解

GridLayout(网格布局管理器) 可以把容器分成n行m列大小相等的网格,每个网格放置一个组件,按照从左往右,从上往下的顺序依次添加,放置在Gird Layout布局管理器的组件将自动占据网格的整个区域。 GridLayout构造方法 GridLayout()//默认只有一行,每个组件占一列 GridLayout(int rows,int cols)//指定容器的行数和列数 GridLayout//指定容器的行数和列数以及组件之间的水平,垂直间距 代码段 pack...

m0_55749088的博客 4810

STM32测测速---编码电机读取速度的计算

速度计算:轮胎每转一圈的脉冲数取决于编码器的分辨率,可由下面公式进行计算:PPR是电机的线数最后可以计算轮胎每转一圈的脉冲数为:轮胎每转一圈的脉冲数 = 9.6 × 11 × 4 = 422.4最后的速度公式简化为:速度 = (0.01 秒内产生的脉冲数 ∗ 0.055 ∗ π )/(0.01 ∗422.4​。

weixin_69414084的博客 3811

java:布局方法“网格组布局”(一)

目录 一、关键代码 (一)、网格组约束条件 (二)、约束的“条件” 1、坐标 2、尺寸 3、填充(fill)属性 二、网格组布局说明 (一)、源码A 1、源码A说明 2、源码A运行效果 (二)、源码B(源码A基础上添加方法way3、way4) 1、源码B说明 2、源码B的运行效果 (三)、源码C(源码B的基础上添加方法way4) 1、源码C说明 2、源码C的运行效果 一、关键代码 (一)、网格组约束条件 由下代码创建一个网格包约束条件g_0...

小蜗牛764号的博客 3257

Arm A-profile架构RAS系统设计:可靠性、可用性与可服务性解析

在计算机体系结构中,可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)是构建高可信系统的核心要素。RAS系统通过硬件错误检测、隔离和恢复机制,确保系统持续稳定运行。其技术原理包括ECC内存纠错、冗余执行单元和错误传播阻断等关键技术,可显著降低数据中心等关键业务场景的故障率。现代芯片设计中,Arm A-profile架构提供标准化的RAS框架,涵盖从内存子系统到计算单元的全方位错误管理。通过分层防御策略和统一错误记录格式,实现硬件错误可追溯、可修复。

weixin_30920853的博客 358

搞定安卓11+抓包难题:用Kitsune Mask、magic_overlayfs和LSPosed三件套绕过SSL Pinning(保姆级教程)

本文详细解析了安卓11+系统中抓包面临的核心挑战,包括SSL Pinning和Root检测机制,并提供了使用Kitsune Mask、magic_overlayfs和LSPosed三件套的完整解决方案。通过动态分区技术解析和工具链配置,帮助开发者绕过安全限制,实现高效抓包分析。

weixin_42665255的博客 442

GUI中的三种布局

frame是一个顶级窗口 panel 无法单独显示,必须添加到某个容器中。 流式布局 FlowLayout import java.awt.*; ​ public class demo3 { public static void main(String[] args) { Frame frame = new Frame(); Button button1 = new Button("button1"); Button button2 = ...

weixin_53076437的博客 258

解决Windows无法卸载补丁的实用方法

无法卸载Windows补丁可能是一个棘手的问题,但通过上述方法,你应该能够找到解决方案。无论是通过控制面板、命令提示符还是手动重置Windows更新组件,都有可能成功卸载问题补丁。如果所有方法都无效,系统还原将是一个值得尝试的备选方案。希望这篇文章能帮助你解决无法卸载补丁的问题。

mmoo_python的博客 1万+

GUI——网格布局管理器

GridBagLayout(网格布局管理器) 特点:灵活,复杂。 这个布局管理器和GridLayout相似,看名字也可以看的出来,就差一个Bag.但是他允许网格中的组件大小各不相同,而且允许一个组件跨越一个或者多个网格。 网格的总体方向取决于容器的 ComponentOrientation 属性。对于水平的从左到右的方向,网格坐标 (0,0) 位于容器的左上角,其中 X 向右递增,Y 向下递增。对...

funcky_CX的博客 1242

Unity 第一人称视角控制移动、旋转

第一人称视角操作此功能主要是借鉴YouTube,写的蛮好我就搬运过来让大家也试试。

qq_36515472的博客 4202

2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)

2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)

王老师青少年编程 3397

java_网格组布局

网格组布局    网格组布局是所有布局管理器之母,可以将网格布局看成没有任何限制的网格布局.在网格布局中,行和列的尺寸可以改变.可以将相邻的单元合并以适应较大的组件..     看图中包含下面的组件. 1两个用于字体外观和大小的组合框 2两个组合框的标签 3两个用于选择斜体和粗体的复选框 4一个显示文本的文本区 现在将容器分解为网格单元,,每个复选框横跨两列,文本区跨4行.

lijia503102319的博客 4632

170、电机控制中的温升测试

本文以一次IGBT炸管事故为切入点,深入剖析电机控制中温升测试的实质:不仅是温度测量,更是对铜损、铁损、散热效率等热管理问题的系统验证。作者强调测试前热电偶布置、环境记录、预运行的重要性,提出实时监控电流谐波、绕组电阻、散热梯度等关键参数,并通过损耗分离与冷却系统实测,揭示真实热源。结合温升曲线异常分析与经验建议,强调留余量、仿真结合实测、关注瞬态工况等实践要点,警示温升测试是保障可靠性与安全性的核心环节。

2401_88858637的博客 48

java混合布局网格间距_Java_GUI_布局_网格组布局收藏

该楼层疑似违规已被系统折叠隐藏此楼查看此楼importjava.awt.Component;importjava.awt.Container;importjava.awt.GraphicsEnvironment;importjava.awt.GridBagConstraints;importjava.awt.GridBagLayout;importjavax.swing.JCheck...

weixin_42545664的博客 317

STM32Cube高效开发教程<基础篇>(一)----概述

一、 STM32系列器件和开发工具发展历史声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。一、 STM32系列器件和开发工具发展历史。

我的博客 1171

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

咱们一起学 Java(124)

在前面的学习中,我们已经深入了解了Swing网格组布局(GridBagLayout)的基本概念和使用方法。今天,我们将进一步探讨如何优化网格组布局的使用,包括使用帮助类来简化约束设置代码,以及通过一个完整的实例来展示网格组布局在实际项目中的应用。希望通过这篇博客,大家能够更加熟练地运用网格组布局,提高开发复杂Java GUI程序的效率和质量。

wj_rdk的博客 1805

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

咱们一起学 Java(125)

在之前对Swing布局管理的学习中,我们已经深入了解了网格组布局及其优化方法。今天,我们将开启新的篇章,学习另一种重要的布局管理器——组布局(GroupLayout)。组布局是Java SE 6引入的一种功能强大的布局管理器,它为我们提供了一种更加直观和灵活的方式来设计复杂的用户界面。希望通过这篇博客,大家能够初步掌握组布局的基本概念和使用方法,为构建更加精美的Java GUI程序奠定基础。

wj_rdk的博客 1390

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

咱们一起学 Java(123)

在之前的学习中,我们已经对Swing的多种布局方式有了一定的了解,今天我们将深入探讨其中功能强大但又较为复杂的网格组布局(GridBagLayout)。网格组布局为我们提供了高度的布局灵活性,能够满足各种复杂界面的设计需求。希望通过这篇博客,大家能够掌握网格组布局的使用技巧,轻松应对复杂的界面布局挑战,打造出专业且美观的Java GUI程序。

wj_rdk的博客 1789

Java中的GUI库-----Swing

视频教程传送门https://www.bilibili.com/video/BV1t4411N7gK?p=2 Swing是Java中开发GUI的库 Java中窗体组件结构如下: 1. Swing常用组件 JFrame 窗体:有最大化、最小化和关闭 JDialog 对话框:只有关闭 JPanel 面板:啥都没有 JButton 按钮 JLabel 标签 JChec...

冥更的博客 1719

Java使用网格组布局管理器

package com.han; import java.awt.Container; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import javax.swing.JButton; import javax.swing.JFrame; /** *

Gaowen_HAN的专栏 9872

网格组布局

import javax.swing.*; import java.awt.*; /** * @author 许泽鑫 * @data 2019/11/8 - 20:00 */ public class Demo8 extends JFrame { public Demo8(){ setSize(800,600); setLocationRelati...

weixin_38914772的博客 321

java图形界面GUI编程(持续更新)

文本编辑组件JTextField、JPasswordField、JTextArea 一、创建窗口程序 二、创建文本框、密码文本框、滚动文本区 三、创建按钮、单选按钮组和多选按钮组 四、创建密码验证窗口 五、流式布局管理器 六、边界布局管理器 七、网格布局管理器 ...

越看越喜欢啊 4万+

布局管理器

绝对布局 绝对布局,顾名思义,就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置。 使用绝对布局的步骤如下: (1)使用Container.setLayout(null)方法取消布局管理器。 (2)使用Component.setBounds()方法设置每个组件的大小与位置 流布局管理器 流布局管理器在整个容器中的布局正如其名,像“流”一样从左到右摆放组件,直到占据了这一行...

wws 5308

Swing学习日记3

Swing 布局的学习分析布局绝对布局流布局 今天是自学Swing 的第三天 分析 布局 绝对布局 绝对布局只需要null就行,布局之后组件需要给出位置,一但想修改得改代码 package swing; import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; //绝对布局的应用 组件不会随着窗体改变而改变 public class class6 extends JFrame { public c

qq_43925054的博客 233

Java基础知识每日总结(14)---Java图形程序设计

图形程序设计 1.简介 在Java刚刚出现的时候,包含了一个用于基本GUI(图形用户界面)程序设计的类库,它被称为抽象窗口工具箱(AWT)。后来,基于AWT的架构之上出现了Swing,它提供了能力更加强大的用户界面组件。 2.创建框架 在Java中,顶层窗口(就是没有包含在其他窗口中的窗口)被称为框架(frame)。在AWT库中有一个Frame类,用来描述顶层窗口。这个类的Swing版本叫做JFrame,它扩展于Frame类。将Swing和AWT组件混在一起使用将会导致视觉和行为的不一致。 Swing类位于

weixin_44084024的博客 890

JAVA-Swing技术

文章目录Swing特点窗体组件类结构常用Swing组件窗体 JFrameJDialog 对话框JLabel 标签图片的使用绝对布局 Swing特点 Swing是一个用于开发桌面图形用户界面应用程序的JAVA包,是基于AWT开发的,故AWT是Swing的基础,AWT的全称为抽象窗口工具包(Abstract Window Toolkit,是java开发用户界面程序的基本工具包,Swing提供了大量的轻...

qq_44486437的博客 2221
上一篇: Java_GUI_布局_边界布局
下一篇: Java_GUI_画五角星
squall___3
博客等级 码龄21年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值