iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java BoxLayout(盒子布局)布局管理器解析
  • 872
分享到

Java BoxLayout(盒子布局)布局管理器解析

2024-04-02 19:04:59 872人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录2.4.6 BoxLayout案例1案例2案例32.4.6 BoxLayout 为了简化开发,Swing 引入了 一个新的布局管理器 : BoxLayout 。 BoxLayou

2.4.6 BoxLayout

为了简化开发,Swing 引入了 一个新的布局管理器 : BoxLayout 。 BoxLayout 可以在垂直和 水平两个方向上摆放 GUI 组件, BoxLayout 提供了如下一个简单的构造器:

方法名称 方法功能
BoxLayout(Container target, int axis) 指定创建基于 target 容器的 BoxLayout 布局管理器,该布局管理器里的组件按 axis 方向排列。其中 axis 有 BoxLayout.X_AXIS( 横向)和 BoxLayout.Y _AXIS (纵向〉两个方向。

案例1

​ 使用Frame和BoxLayout完成下图效果:

代码1:


import javax.swing.*;
import java.awt.*;
public class BoxLayoutDemo1 {
    public static void main(String[] args) {
        //1.创建Frame对象
        Frame frame = new Frame("这里测试BoxLayout");
        //2.创建BoxLayout布局管理器,并指定容器为上面的frame对象,指定组件排列方向为纵向
        BoxLayout boxLayout = new BoxLayout(frame, BoxLayout.Y_AXIS);
        frame.setLayout(boxLayout);
        //3.往frame对象中添加两个按钮
        frame.add(new Button("按钮1"));
        frame.add(new Button("按钮2"));
        //4.设置frame最佳大小,并可见
        frame.pack();
        frame.setVisible(true);
    }
}

在这里插入图片描述

在java.swing包中,提供了一个新的容器Box,该容器的默认布局管理器就是BoxLayout,大多数情况下,使用Box容器去容纳多个GUI组件,然后再把Box容器作为一个组件,添加到其他的容器中,从而形成整体窗口布局。

方法名称 方法功能
static Box createHorizontalBox() 创建一个水平排列组件的 Box 容器 。
static Box createVerticalBox() 创建一个垂直排列组件的 Box 容器 。

案例2

​ 使用Frame和Box,完成下图效果:

代码2:


import javax.swing.*;
import java.awt.*;
public class BoxLayoutDemo2 {
    public static void main(String[] args) {
        //1.创建Frame对象
        Frame frame = new Frame("这里测试BoxLayout");
        //2.创建一个横向的Box,并添加两个按钮
        Box hBox = Box.createHorizontalBox();
        hBox.add(new Button("水平按钮一"));
        hBox.add(new Button("水平按钮二"));
        //3.创建一个纵向的Box,并添加两个按钮
        Box vBox = Box.createVerticalBox();
        vBox.add(new Button("垂直按钮一"));
        vBox.add(new Button("垂直按钮二"));
        //4.把box容器添加到frame容器中
        frame.add(hBox,BorderLayout.NORTH);
        frame.add(vBox);
        //5.设置frame最佳大小并可见
        frame.pack();
        frame.setVisible(true);
    }
}

通过之前的两个BoxLayout演示,我们会发现,被它管理的容器中的组件之间是没有间隔的,不是特别的美观,但之前学习的几种布局,组件之间都会有一些间距,那使用BoxLayout如何给组件设置间距呢?

其实很简单,我们只需要在原有的组件需要间隔的地方,添加间隔即可,而每个间隔可以是一个组件,只不过该组件没有内容,仅仅起到一种分隔的作用。

Box类中,提供了5个方便的静态方法来生成这些间隔组件:

方法名称 方法功能
static Component createHorizontalGlue() 创建一条水平 Glue (可在两个方向上同时拉伸的间距)
static Component createVerticalGlue() 创建一条垂直 Glue (可在两个方向上同时拉伸的间距)
static Component createHorizontalStrut(int width) 创建一条指定宽度(宽度固定了,不能拉伸)的水平Strut (可在垂直方向上拉伸的间距)
static Component createVerticalStrut(int height) 创建一条指定高度(高度固定了,不能拉伸)的垂直Strut (可在水平方向上拉伸的间距)

案例3

使用Frame和Box,完成下图效果:

代码3:


import javax.swing.*;
import java.awt.*;
public class BoxLayoutDemo3 {
    public static void main(String[] args) {
        //1.创建Frame对象
        Frame frame = new Frame("这里测试BoxLayout");
        //2.创建一个横向的Box,并添加两个按钮
        Box hBox = Box.createHorizontalBox();
        hBox.add(new Button("水平按钮一"));
        hBox.add(Box.createHorizontalGlue());//两个方向都可以拉伸的间隔
        hBox.add(new Button("水平按钮二"));
        hBox.add(Box.createHorizontalStrut(10));//水平间隔固定,垂直间方向可以拉伸
        hBox.add(new Button("水平按钮3"));
        //3.创建一个纵向的Box,并添加两个按钮
        Box vBox = Box.createVerticalBox();
        vBox.add(new Button("垂直按钮一"));
        vBox.add(Box.createVerticalGlue());//两个方向都可以拉伸的间隔
        vBox.add(new Button("垂直按钮二"));
        vBox.add(Box.createVerticalStrut(10));//垂直间隔固定,水平方向可以拉伸
        vBox.add(new Button("垂直按钮三"));
        //4.把box容器添加到frame容器中
        frame.add(hBox, BorderLayout.NORTH);
        frame.add(vBox);
        //5.设置frame最佳大小并可见
        frame.pack();
        frame.setVisible(true);
    }
}

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Java BoxLayout(盒子布局)布局管理器解析

本文链接: https://www.lsjlt.com/news/159144.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java BoxLayout(盒子布局)布局管理器解析
    目录2.4.6 BoxLayout案例1案例2案例32.4.6 BoxLayout 为了简化开发,Swing 引入了 一个新的布局管理器 : BoxLayout 。 BoxLayou...
    99+
    2024-04-02
  • Java BoxLayout布局管理器怎么使用
    这篇文章主要介绍“Java BoxLayout布局管理器怎么使用”,在日常操作中,相信很多人在Java BoxLayout布局管理器怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”J...
    99+
    2023-06-21
  • Java Swing布局管理器详解:掌控界面布局
    FlowLayout FlowLayout 是一种简单的布局管理器,它将组件水平排列,直到达到容器的边缘,然后换行。组件的大小由其首选大小决定。 BorderLayout BorderLayout 将容器划分为五个区域:北部、南部、西部、...
    99+
    2024-04-02
  • CSS Flexbox布局:利用弹性盒子布局实现灵活的布局结构
    CSS Flexbox布局:灵活的布局结构实现简介:在前端开发中,页面布局是一个重要的环节。传统的布局方式,如使用浮动或定位,有时候在设计不符合标准化的情况下会出现一系列问题。为了克服这些问题,CSS3引入了Flexbox布局,它可以为开发...
    99+
    2023-11-18
    CSS 布局 FLEXBOX
  • CSS3弹性盒子布局的方法
    这篇文章主要介绍“CSS3弹性盒子布局的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS3弹性盒子布局的方法”文章能帮助大家解决问题。 我认为弹性盒子布局...
    99+
    2024-04-02
  • java布局管理器有哪些
    java的布局管理器有:1.GridLayout,网格布局管理器;2.BorderLayou,默认布局管理器;3.GridBagLayout,灵活的网格布局管理器;4.FlowLayout,流式布局管理器;java的布局管理器有以下几种Gr...
    99+
    2024-04-02
  • css中flexbox弹性盒子如何布局
    小编给大家分享一下css中flexbox弹性盒子如何布局,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在CSS3弹性盒子模型...
    99+
    2024-04-02
  • CSS伸缩盒布局实例分析
    这篇文章主要介绍“CSS伸缩盒布局实例分析”,在日常操作中,相信很多人在CSS伸缩盒布局实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS伸缩盒布局实例分析”的疑惑...
    99+
    2024-04-02
  • CSS 灵活盒子:实现复杂的布局
    Flexbox 布局の基本原理 Flexbox 布局建立在两个基本概念之上: 容器元素:充当其子元素的父容器,定义布局方向和对齐方式。 子元素:容器元素中的元素,可以灵活地调整其大小和位置。 容器元素及其属性 容器元素使用以下属性来定...
    99+
    2024-03-13
    CSS 灵活盒子(Flexbox)为开发者提供了强大的工具集 可以创建复杂的、响应式的布局。通过理解 Flexbox 的概念和特性 开发者可以轻松实现各种布局 从简单的单列布局到复杂的网格系统。
  • Java Swing组件布局管理器之FlowLayout(流式布局)入门教程
    本文实例讲述了Java Swing组件布局管理器之FlowLayout(流式布局)。分享给大家供大家参考,具体如下:FlowLayout应该是Swing布局管理器学习中最简单、最基础的一个。所谓流式,就是内部控件像水流一样,从前到后按顺序水...
    99+
    2023-05-30
    java swing ava
  • WPF布局及布局容器该怎么理解
    本篇文章为大家展示了WPF布局及布局容器该怎么理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。WPF布局基础WPF布局原则一个窗口中只能包含一个元素不应显示设置元素尺寸不应使用坐标设置元素的位置可...
    99+
    2023-06-29
  • Java布局管理器深入讨论(转)
    我们都知道,java的GUI界面定义是由awt类和swing类来完成的。它在布局管理上面采用了容器和布局管理分离的方案。也就是说,容器只管将其他小件放入其中,而不管这些小件是如何放置的。对于布局的管理交给专门的布局管理器类(LayoutMa...
    99+
    2023-06-03
  • css如何利用flexbox布局实现盒子居中
    小编给大家分享一下css如何利用flexbox布局实现盒子居中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!利用flexbox布局<style t...
    99+
    2023-06-17
  • java中容器的布局管理器有哪些
    这篇文章主要介绍“java中容器的布局管理器有哪些”,在日常操作中,相信很多人在java中容器的布局管理器有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中容器的布局管理器有哪些”的疑惑有所帮助!...
    99+
    2023-06-21
  • css3弹性盒子flex如何实现三栏布局
    这篇文章主要介绍“css3弹性盒子flex如何实现三栏布局”,在日常操作中,相信很多人在css3弹性盒子flex如何实现三栏布局问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css3弹性盒子flex如何实现三...
    99+
    2023-06-08
  • Java GUI流式布局管理器FlowLayout怎么用
    本文小编为大家详细介绍“Java GUI流式布局管理器FlowLayout怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java GUI流式布局管理器FlowLayout怎么用”文章能帮助大家解决疑惑,下面跟着小...
    99+
    2023-06-30
  • 如何理解CSS Grid布局中的网格布局
    本篇内容主要讲解“如何理解CSS Grid布局中的网格布局”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解CSS Grid布局中的网格布局”吧!为什么我们...
    99+
    2024-04-02
  • PythonGUI之tkinter布局管理教程
    目录pack常用属性pack类提供了下列函数(使用组件实例对象调用)grid属性设置grid类提供了下列函数(使用组件实例对象调用)place属性设置place类提供了下列函数(使用...
    99+
    2024-04-02
  • flutter布局约束原理深入解析
    目录引言1、flutter的widget类型2、Container是个组合类3、flutter布局约束4、Container布局行为解惑总结引言 刚开始接触flutter的时候,C...
    99+
    2023-01-13
    flutter布局约束原理 flutter布局约束
  • Java中BorderLayout布局管理器的两种排列方式
    目录Java BorderLayout布局管理器的两种排列Java 布局管理器BorderLayout的使用总结Java BorderLayout布局管理器的两种排列 java中Fr...
    99+
    2022-12-23
    Java BorderLayout BorderLayout布局管理器 BorderLayout布局管理器排列
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作