Java - 如何使组件的垂直列居中?

2024-04-17

很简单,我想做的事,但我想不出办法。在 JFrame 或 JPanel 中,如何垂直居中组件?也就是说,类似于在 HTML 中使用 center 标签。组件位于一列中,并且全部居中。

我尝试过使用 Y_AXIS 和 PAGE_AXIS 的 BoxLayout,但它以一种奇怪的方式对齐组件。我尝试使用 FlowLayout 并设置首选尺寸,以便它环绕,但它不会居中。我宁愿不使用像 GridBagLayout 这样强大的东西来完成如此简单的事情,除非它确实是唯一的选择。帮助!


如果我必须猜测,我会说您正在使用具有不同“x 对齐方式”的组件。尝试使用:

component.setAlignmentX(JComponent.CENTER_ALIGNMENT);

请参阅 Swing 教程中的部分修复对齐问题 http://download.oracle.com/javase/tutorial/uiswing/layout/box.html#alignment了解更多信息。

如果您需要更多帮助,请发布您的SSCCE http://sscce.org显示您已尝试过的内容。

Edit:

import java.awt.*;
import javax.swing.*;

public class BoxLayoutTest extends JFrame
{
    public BoxLayoutTest()
    {
        Box box = new Box(BoxLayout.Y_AXIS);
        add( box );

        JLabel label = new JLabel("I'm centered");
        label.setAlignmentX(JComponent.CENTER_ALIGNMENT);

        box.add( Box.createVerticalGlue() );
        box.add( label );
        box.add( Box.createVerticalGlue() );
    }

    public static void main(String[] args)
    {
        BoxLayoutTest frame = new BoxLayoutTest();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.setSize(300, 300);
        frame.setLocationRelativeTo( null );
        frame.setVisible(true);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java - 如何使组件的垂直列居中? 的相关文章

  • Maven 管理的 Java EE 应用程序中 JBoss 提供的库

    这对我来说实际上不太可能 但网上似乎没有关于将 JBoss 提供的依赖项导入 Maven 管理的 Java EE 应用程序以在其中部署的直接答案 据我所知 有两件事与这个问题有关 那就是jboss as client外部 就 JVM 而言
  • 由于保存之前/之后的 CSV 差异而导致错误解析(Java w/ Apache Commons CSV)

    我有一个 37 列的 CSV 文件 我正在使用 Apache Commons CSV 1 2 在 Java 中解析该文件 我的设置代码如下 initialize FileReader object FileReader fileReader
  • Java:计算字符串中字母的出现次数

    我正在尝试编写一个程序来计算字符串中字母的出现次数 例如 如果用户输入 Java 则会显示 j 1 a 2 v 1 但是 我的程序似乎有问题 当我输入 java 这个词时 它显示的是 j 0 a 1 v 0 Scanner myScanne
  • Android 中的 ImageView 拖动限制

    我在布局中有一个 ImageView 并在 ImageView 上设置 OnTouchListener 来拖动 ImageView 它工作得很好 我的问题是如何防止将 ImageView 移动到布局范围之外 这是我的代码 活动类别 publ
  • Android - Firebase - 保存新数据而不覆盖旧数据

    创建此问题是因为我之前的问题包含 2 个问题 而不是将其缩小到 1 Aim 用户将能够存储新数据而不会覆盖之前提交的数据 描述 目前 当用户输入新报告时 事件报告节点中的用户事件报告数据将被覆盖 用户发送的旧事件报告中的数据应与新数据一起保
  • MySQL 中电话号码的最佳数据类型是什么?它的 Java 类型映射应该是什么?

    我正在将 MySQL 与 Spring JDBC 模板一起用于我的 Web 应用程序 我需要存储仅包含数字的电话号码 10 我对使用数据类型的数据类型有点困惑 MySQL 中最适合它的数据类型是什么 为此 Bean POJO 类中的 Jav
  • Java中的String为什么是不可变的对象,但我在创建一个对象后仍然可以更改它的值? [复制]

    这个问题在这里已经有答案了 如果我可以创建一个字符串并给它一个值 这怎么可能呢 然后 我可以像这样简单地覆盖它的值 String a abc a def 我怎么可能改变的值a 我一定在这里遗漏了一些东西 我知道每当创建 String 对象时
  • Netflix Archaius 动态配置

    我正在将 Hystrix 集成到现有项目中 并且希望从 xml 文件中读取配置值 而不是使用配置管理器提供配置属性 当 xml 文件中的值更新时 我希望 Hystrix 配置在运行时更新 这是我遵循的指南 https github com
  • 使用 python 中的 java 库

    我有一个 python 应用程序和 java 应用程序 python 应用程序为 java 应用程序生成输入并在命令行上调用它 我确信一定有一个更优雅的解决方案 就像使用 JNI 从 Java 调用 C 代码一样 有什么指点吗 仅供参考 我
  • 运行Java程序时出错

    我正在尝试使用 netbeans 运行我的 java 程序 但收到此错误 有什么建议吗 Exception in thread AWT EventQueue 0 java lang NullPointerException at javax
  • 非法监控状态异常

    如何将轮询线程传递给另一个线程进行处理 程序执行在控制器类中 该类具有 main 方法和线程池 主类控制器 public static void main String args throws InterruptedException Ru
  • 获取运行时提供的类名的 n 维数组的类

    给定一个完全限定的类名和多个维度 我想获取该类的类名 我相信我可以这样做 public Class elementType Class forName className return Array newInstance elementTy
  • 将 JAR 文件打包为 WAR 文件

    我有一系列依赖的Java项目 我想将它们打包成一个 JAR 文件 以便在我的 WAR 文件中使用 这些项目依赖于大量的外部库和项目 如log4j apache commons等 我选择 Eclipse 中的所有项目并导出为 JAR 文件 然
  • 使用 Hibernate 作为 ORM 机制的 Web 应用程序中的 L1 和 L2 缓存有什么区别?

    我只想要一些有关使用 L1 缓存和 L2 缓存的标准用途的一般信息 我很好奇 因为我正在研究使用赤土陶器作为二级缓存的系统 并且我发现它也有一级缓存 L1 缓存是每个 Hibernate 会话都存在的缓存 并且该缓存不在线程之间共享 该缓存
  • jstack 是否停止在较新的 JDK8 版本上工作?

    我惊讶地发现 不知何故 最近 jstack 停止了在较新的 JDK 8 上的工作 我不确定这发生在哪个版本 但我确实得到 36649 Unable to open socket file target process not respond
  • 更改 Logger 实例的全局设置

    我在用着java util logging Logger http download oracle com javase 1 4 2 docs api java util logging Logger html作为我的应用程序的日志引擎 每
  • 如何提高QNX6下Eclipse IDE的性能

    我们在 VMWare 环境中通过 QNX6 运行 Eclipse 速度非常慢 Eclipse 是这样启动的 usr qnx630 host qnx6 x86 usr qde eclipse eclipse data root workspa
  • 在同一项目上使用 Eclipse 和 NetBeans

    Eclipse 是一个非常棒的编辑器 我更喜欢使用它 但是缺少 Eclipse 的 GUI 设计工具 另一方面 NetBeans 非常适合 GUI 设计 在同一项目中使用 NetBeans 进行 GUI 设计和 Eclipse 进行其他所有
  • 在 Eclipse Testrunner 中使用名称的 ParameterizedTest

    当您使用 Eclipse TestRunner 运行 JUnit 4 ParameterizedTest 时 图形表示相当愚蠢 对于每个测试 您都有一个名为 0 1 ETC 是否可以进行测试 0 1 等显式名称 实施一个toString测试
  • 我可以在方法体内使用注释吗?

    允许 Java 注释的语义将它们放置在某处在函数体内 例如注释特定的函数调用 语句或表达式 例如 class MyClass void theFunc Thing thing String s null Catching NullPoint

随机推荐

  • 仅带有按钮的 Silverlight Scrollviewer

    我使用 ScrollViewer 作为 Silverlight 应用程序的一部分 它具有水平方向 我希望它显示为仅显示滚动按钮 而不显示滚动条本身 像这样粗略的 ASCII 渲染 lt Content Here gt
  • 仅包含字符集的内容类型

    我发现了这个有趣的标题 Content Type charset utf 8 使用 PHP 将 HTTP 标头设置为 UTF 8 https stackoverflow com q 4279282 22485939 回答者说这个语法是由定义
  • 使用 Zurb Foundation 进行样式自动完成

    使用 Foundation 功能而不是 jQuery CSS 进行自动完成的最佳实践是什么 这是我的代码 http jsfiddle net qhoc 88kfb http jsfiddle net qhoc 88kfb div class
  • 如何在我的网站上填充/描边 SVG 文件?

    我用 Google 搜索了这个问题大约 30 分钟 很惊讶没有人问过 所以也许这是不可能的 我使用这一行嵌入我在 AI 中制作的 SVG 文件 请注意 当我保存 SVG 时 路径上没有填充或描边 Your browser does not
  • 仅返回小写结果的 T-SQL 查询

    我有一个名为 KEYWORDS 的表 其中有一个名为 ENTRY 的 VARCHAR 10 列 是否可以从该表中仅检索小写条目 例如 该表可能如下所示 ENTRY SearchString Searchstring searchstring
  • 使用 Postman 通过 HTTP POST 上传图像

    一段时间以来 我一直在尝试通过 Postman 将图像发送到一个简单的 PHP 脚本 该脚本应该显示发送的图像 我遵循的步骤是 邮递员 客户端 端 Select POST request 选择标题内容类型有价值多部分 表单数据 在正文选项卡
  • Rails 对特定控制器和操作进行 ActiveRecord 验证

    是否可以在给定的控制器和操作上运行 ActiveRecord 验证 例如我有user controller and signup controller 我只需要在signup controller create 操作上运行需要密码的验证 您
  • 使用 XCode 4.6 在 MacOSX 10.8.2 下进行写入的 mmap 会使程序崩溃

    我尝试使用 XCode 4 6 在 MacOSX 10 8 2 下运行 mmap 的简单测试 该程序如下 读取映射的文件正常 但访问写入指针 target 将使程序崩溃 错误消息是 EXC BAD ACCESS 有人和我有同样的情况吗 多谢
  • 链接预取能否用于缓存 JSON API 响应以供以后的 XHR 请求使用?

    给定一个 JSON API 端点 api config 我们正在尝试使用在 HTML 文档的头部 Chrome 在点击 HTML 中的链接标签时会按预期下载数据 但大约一秒钟后通过我们的脚本中的 XHR 再次请求数据 服务器配置为允许缓存
  • 的 xml 问题

    我有一个 xml 架构
  • 如何使用 propel 按多列排序

    我需要按 2 列对查询进行排序 使用推进可以实现这一点吗 i tried c gt addAscendingOrderByColumn self COL1 c gt addAscendingOrderByColumn self COL2 但
  • 根据已知的边界框坐标计算旋转矩形的大小

    我读了从旋转的矩形计算边界框坐标 https stackoverflow com questions 622140 calculate bounding box coordinates from a rotated rectangle了解如
  • 将 Meteor 应用程序从 OS X 部署到 Linux 会导致 bcrypt 问题

    我刚刚部署了我的第一个生产 Meteor 应用程序 但遇到了一个非常严重的问题 当我尝试运行我的应用程序时 出现以下错误 home hiapp bundle programs server node modules fibers futur
  • 如何在 jquery 中获取 406 错误(不可接受)

    我正在 my js 中进行错误处理 其中我对其他服务器进行跨域调用 对于动态 HTML 模板 我正在使用 Mustache js getJSON url function data textStatus xhr each data func
  • 没有 lodctr 的 C++ 性能计数器

    我有点习惯 C 应用程序创建性能计数器的方式 只需实例化新的PerformanceCounter对象 并使用它 我现在被迫使用非托管 C C 并且我对 API 和提供的示例的易用性感到非常不满意 我的主要痛苦是需要使用 lodctr 加载清
  • Try Catch 错误处理的最佳实践

    我试图避免在捕获时返回错误的值 但我很难找到比这更好的解决方案 private SecurityLevel ApiGetSecurityLevel try return BioidInstance GetSecurityLevel catc
  • 在 Django 中使用 Jquery/Ajax 检索 RSS xml 新闻数据

    我正在尝试执行以下操作 我需要在 Django 中使用 Ajax 和 jquery 从 BBC 和 CNN 下载头条新闻 我首先尝试在 javascript 中下载数据 但我得到了 Access Control Allow Origin 所
  • Laravel 4:刀片布局中的 if 语句工作很奇怪

    有人可以解释一下 如果我正常请求页面 不是ajax 为什么我会得到带有打印字符串 extends layouts default 的空白屏幕 if Request ajax extends layouts default section c
  • 如何在 Swift 中解析递归 JSON?

    我从数据递归的服务器接收 JSON 将其解析为方便的 Swift 数据结构的最佳方法是什么 定义 Swift Codable 数据结构来解析它失败 因为不允许递归属性 Swift 编译器报告 值类型 FamilyTree Person 不能
  • Java - 如何使组件的垂直列居中?

    很简单 我想做的事 但我想不出办法 在 JFrame 或 JPanel 中 如何垂直居中组件 也就是说 类似于在 HTML 中使用 center 标签 组件位于一列中 并且全部居中 我尝试过使用 Y AXIS 和 PAGE AXIS 的 B