问题标签 [boxlayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
217 浏览

java - BoxLayout 中按钮的水平放置取决于操作系统

我将 [OK] 和 [Cancel] 按钮水平放置在 Box(具有 BoxLayout)中。后来我将此框添加到 JDialog 的内容窗格中的 BorderLayout.PAGE_END 中。这在 Windows 中完美运行,因此 [OK] 位于 [Cancel] 的左侧 - 就像我添加的一样。

当我在 Linux 中测试时,按钮的位置与 Windows 相同 - [确定] 在 [取消] 的左侧。这再次来自代码。

但是,在 Linux (Ubuntu) 中,按钮的默认位置是 [OK] 左侧的 [Cancel]。这与我的代码和按钮位置形成鲜明对比。

所以,我的问题是:Java 是否有某种常量——比如 OS_PLACEMENT,它可以设置在某个地方,使 [Cancel] 按钮出现在 Linux 中 [OK] 的左侧?我问这个是因为我知道 Java 支持 RTL 和 LTR 布局的常量。因此,我认为,可能有一些与这种放置相关的常数。

我想提一下,我确实将 Swing 应用程序的 L&F 设置为 System L&F。以下是我在 main() 中的第一行

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

0 投票
3 回答
1162 浏览

java - JLabel 扩展但不自动换行

我有一个用于显示错误消息的 JLabel 对象,如以下代码所示。据我了解,如果消息嵌入在 html 标签中,则标签应该是自动换行。但是,在我的情况下,标签似乎水平扩展。有人可以告诉我我做错了什么吗?或者,有没有更好的方法来显示长错误消息?

这是代码:

0 投票
2 回答
638 浏览

java - 是否可以将组件动态添加到 BoxLayout 的中间

我正在构建一个小型摇摆应用程序,在其中创建了与 Y 轴对齐的 BoxLayout 的内容窗格,并在其中添加了另外 2 个 JPanel。到目前为止,一切都很好。

现在我偶然发现了一个问题,我必须重新创建第一个 JPanel 并将其添加到其他两个 JPanel 的中间。

可能不止一次将另一个面板添加到布局中,因此我希望它能够适当扩展。

结论:我正在寻找的是将组件添加到 BoxLayout 并选择在最后一个组件之前添加它们。

谢谢。

0 投票
3 回答
85598 浏览

java - java BoxLayout 面板的对齐方式

我四处浏览并没有找到专门针对我的情况量身定制的解决方案。我有一个显示在对话框中的面板:

最后两个面板 type5 和 type6 的大小相同,因此看起来不错。但是,标题和前 4 个面板的大小不同,我希望它们都左对齐。到目前为止,我还没有找到一个好的解决方案来解决这个问题。

问题是,我怎样才能左对齐前 5 个面板,而不是最后 2 个?如果不是,我怎样才能将它们全部左对齐?setalignmentx() 不适用于面板。我试过使用 GridLayout,但是 gui 主窗口的宽度相当大,不能很好地适应屏幕,因此沿 Y 轴的 BoxLayout。感谢您的任何帮助或建议。

0 投票
2 回答
3393 浏览

java - Java Swing BoxLayout 忽略 AlignmentX

setAlignmentX在下面的代码中,通过调用Component.LEFT_ALIGNMENT我希望在居中的滑块上获得一个左对齐的标签。由于某种原因,标签也居中,似乎与传递给 setAlignmentX 的值无关。

我必须将什么值传递给 setAlignmentX 才能使其左对齐?

0 投票
1 回答
848 浏览

java - Java Swing组件交互(BoxLayout和Label)

好的,关于下面的测试代码的几个问题......我没有完整的工作程序要发布,但我希望人们对 Swing 有足够的了解,可以尝试一下。这是 JPanel(BoxLayout) 内的 JLabel,我正在调整右下角标签的大小。

如图所示,我得到的是一个 300 宽 x 30 高的状态框。我已经摆弄了首选尺寸和标签最小尺寸,它似乎并没有以任何合理的方式表现。

  1. 为什么 JPanel 首选大小会影响高度而不影响宽度?如果我将 setPreferredSize() 中的 x 维度更改为 0 或 500,它仍然会从标签中显示 300。
  2. 为什么 JLabel 最小尺寸会影响宽度而不影响高度?如果我注释 setPreferredSize() 调用并将标签高度增加到 30,则没有任何反应。
  3. 我开始使用 JPanel setMinimumSize(已注释),但它不再有任何效果 - 为什么 JPanel 需要 setPreferredSize()?
  4. 如果我将标签文本从“”更改为“”,这会增加标签的高度。既然标签在这里没有控制高度,为什么这有任何影响呢?

顺便说一句,createRigidArea() 调用是强制分隔符向右,而不是粘在屏幕的左侧。如果对此有任何不那么笨拙的想法,我将不胜感激。

0 投票
1 回答
9379 浏览

java - 盒子布局中的宽度

这是我的一段代码:

如图所示,问题在于第二个面板的宽度:

在此处输入图像描述我该如何解决?

因为在流布局中它看起来像我想要的: 在此处输入图像描述

0 投票
2 回答
1959 浏览

python - How can I change the order of the BoxLayout in kivy?

I am testing kivy and I want to create a BoxLayout so to stack some buttons. My problem is that the children that are added to the layout follow a bottom-top logic while I want the opposite. Do you know how can I reverse the order? Thanks!

0 投票
2 回答
311 浏览

java - 显示 JPanel 调整大小的另一个 JPanel

我有一个关于嵌套 BoxLayouts 的问题。

我想构建一个由 2 个子面板组成的 DropDownPanel:顶部的标题和底部的正文。身体最初是隐藏的。通过单击标题,您可以切换正文的可见性并显示其内容(如展开/折叠)。

一般来说,这很好用。但是有一些奇怪的行为:
如果只有一个 DropDownPanel 展开而另一个折叠,则折叠的 DropDownPanel 会调整大小并向右浮动。

我已经尝试过 JPanel 的属性,如 alignmentX,但我找不到我的错误。有谁知道我做错了什么?

这是代码:
DropDownPanel.java

测试框架.java

0 投票
3 回答
53 浏览

html - 在 chrome 中具有溢出自动的框布局

我在 chrome 中遇到了一个奇怪的错误,但在 firefox 中没有。我创建了一个尽可能简单的示例:

本质上,我正在尝试创建一个布局,顶部有一个固定的标题,下面有一个可垂直滚动的部分,它填充了窗口的整个高度。这似乎在 chrome 和 firefox 中运行良好。我在 Chrome 中遇到的问题是按钮上的悬停效果导致窗格滚动回顶部。我的猜测是,悬停效果会导致疼痛再次出现,当它这样做时,它会滚动到顶部。

通过其他测试,它似乎是由一个带有溢出的框布局元素引起的:自动。

有没有其他人遇到过这个问题?有没有人对如何以不同方式执行此操作或修复它有任何建议?

谢谢!

编辑:

我正在尝试制作的完整布局是:

我希望“内容”和“侧边栏”独立滚动。“内容”应水平和垂直滚动,而“侧边栏”应仅垂直滚动。