1

我正在尝试在 JToolBar 中对齐 JToggleButtons。我希望按钮垂直向左对齐。我的代码如下:

JToolBar toolbar = new JToolBar();
toolbar.setLayout(new FlowLayout());
toolbar.setAlignmentX(FlowLayout.LEFT);
toolbar.add(new JToggleButton("Test"));
toolbar.add(new JToggleButton("Test2"));
toolbar.add(new JToggleButton("Test3"));
toolbar.add(new JToggleButton("Test with a long name"));

这就是结果的样子。 我的 JToolBar

此外,当停靠在左侧时,它看起来像这样。理想情况下,我希望按钮垂直堆叠(并且仍然保持与左侧对齐)。有小费吗?

JToolBar 停靠在左侧

理想的结果应该是这样的: 理想的结果 - 左对齐按钮,并在工具栏停靠在左侧时堆叠

4

2 回答 2

1

我希望按钮向左对齐

这是 JToolBar 的默认行为。无需使用布局管理器。

我希望按钮垂直堆叠

同样,这是与默认布局管理器一起使用时的默认行为。

阅读 Swing 教程中有关如何使用工具栏的部分以获取更多信息和工作示例。

于 2016-11-11T16:34:47.310 回答
0

FlowLayout 只能在水平行中布置组件,就像文本在页面上“流动”的方式一样环绕。

您可以通过调用构造函数更改为垂直 BoxLayout:toolbar.setLayout(new BoxLayout(toolbar, BoxLayout.PAGE_AXIS));或获得相同的效果(因为 JToolBar 默认使用 BoxLayout)new JToolBar(SwingConstants.VERTICAL)

但是,要左对齐,我相信您需要调用添加setAlignmentX(FlowLayout.LEFT)每个组件,而不是工具栏本身或其布局。例如,参见BoxLayout 教程

于 2020-10-07T22:18:32.360 回答