java - 盒子布局问题

标签 java swing user-interface scala layout

我正在尝试为我的图形用户界面使用 scala.swing 包。在那之前,我使用的是普通的 GroupLayout(手动编写 :),但 scala 方式似乎更好。虽然我遇到了一些问题 - 我喜欢 BoxLayout,但是当我尝试向其中添加多个 Pane 并尝试指定不同的水平对齐方式时,我遇到了一些奇怪的事情。

代码如下:

new Frame {
  contents = new BoxPanel(Orientation.Vertical) {
    contents += new Button("A") {
      xLayoutAlignment = 1.0f
    }
    contents += new Button("B")
    size = (200, 200)
  }
  size = (200, 200)
  visible = true
  peer.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)
}

至少,我希望在按钮 A 的左侧看到按钮 B。这是我看到的:

enter image description here

此代码的 Java 版本完全相同,因此它不是 scala.swing 错误。

我做错了什么?

最佳答案

and try to specify different horisontal alignments, I get something strange.

这就是 BoxLayout 设计的工作方式。

参见 Fixing Alignment Problems以获得更好的解释和简单的演示,让您可以尝试对齐以更好地理解它们的工作原理。

关于java - 盒子布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778240/

相关文章:

java - android & Java 中的外来字符

java - 调整 JFrame 大小以适合 JPanel

java - 使用数据库连接 jar 构建 .exe 文件

java - 启用/禁用与某些方法关联的 JButton

java - 为什么会抛出java.lang.InstantiationException?

java - TomEE + OpenJPA + IntelliJ 实体不持久

java - Java Swing 初始屏幕配置错误

matlab - Matlab GUI 或图例滚动条中可调整大小的图例

java UnsatisfiedLinkError awt.image

user-interface - Pharo 的 UI 主题存储库?