前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java AWT 图形界面编程】LayoutManager 布局管理器 ⑥ ( BoxLayout 布局 )

【Java AWT 图形界面编程】LayoutManager 布局管理器 ⑥ ( BoxLayout 布局 )

作者头像
韩曙亮
发布2023-03-30 18:45:33
5750
发布2023-03-30 18:45:33
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、BoxLayout 布局


BoxLayout 布局 不是 AWT 中的布局 , 而是 Swing 中引入的 ;

在 BoxLayout 布局 中 , 可以 在 垂直 和 水平 两个方向上 摆放 Component 组件 ;

二、BoxLayout 布局 API


BoxLayout 布局 API :

  • BoxLayout(Container target, int axis) : 为 Container target 组件 配置本 BoxLayout 布局管理器 , 该布局管理器会 按照指定的方向进行排列 , 垂直 或 水平方向 ;
代码语言:javascript
复制
    /**
     * 创建布局管理器,该管理器将沿
     * 给定的轴。
     *
     * @param target  需要布置的容器
     * @param axis    沿轴线布置组件。可以是其中之一:
     *              <code>BoxLayout.X_AXIS</code>,
     *              <code>BoxLayout.Y_AXIS</code>,
     *              <code>BoxLayout.LINE_AXIS</code> or
     *              <code>BoxLayout.PAGE_AXIS</code>
     *
     * @exception AWTError  if the value of <code>axis</code> is invalid
     */
    @ConstructorProperties({"target", "axis"})
    public BoxLayout(Container target, int axis)

三、BoxLayout 布局代码示例


1、BoxLayout 布局垂直排列代码示例

代码示例 :

代码语言:javascript
复制
import javax.swing.*;
import java.awt.*;
import java.beans.ConstructorProperties;

public class HelloAWT {
    public static void main(String[] args) {
        // I. Frame 默认的布局管理器就是 BorderLayout
        Frame frame = new Frame("AWT 界面编程");

        // II. 为 Frame 配置 BoxLayout 布局管理器
        // 组件垂直摆放
        BoxLayout boxLayout = new BoxLayout(frame, BoxLayout.Y_AXIS);

        // 为容器设置布局管理器
        frame.setLayout(boxLayout);

        frame.add(new Button("按钮 1"));
        frame.add(new Button("按钮 2"));

        // III. 自定设置合适的大小
        frame.pack();
        frame.setVisible(true);
    }
}

执行效果 :

在这里插入图片描述
在这里插入图片描述

拖动放大后的效果 :

在这里插入图片描述
在这里插入图片描述

2、BoxLayout 布局水平排列代码示例

代码示例 :

代码语言:javascript
复制
import javax.swing.*;
import java.awt.*;
import java.beans.ConstructorProperties;

public class HelloAWT {
    public static void main(String[] args) {
        // I. Frame 默认的布局管理器就是 BorderLayout
        Frame frame = new Frame("AWT 界面编程");

        // II. 为 Frame 配置 BoxLayout 布局管理器
        // 组件垂直摆放
        BoxLayout boxLayout = new BoxLayout(frame, BoxLayout.Y_AXIS);

        // 为容器设置布局管理器
        frame.setLayout(boxLayout);

        frame.add(new Button("按钮 1"));
        frame.add(new Button("按钮 2"));

        // III. 自定设置合适的大小
        frame.pack();
        frame.setVisible(true);
    }
}

执行效果 :

在这里插入图片描述
在这里插入图片描述

放大后的效果 :

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、BoxLayout 布局
  • 二、BoxLayout 布局 API
  • 三、BoxLayout 布局代码示例
    • 1、BoxLayout 布局垂直排列代码示例
      • 2、BoxLayout 布局水平排列代码示例
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档