我正在尝试在一个JToggleButtons中对齐JToolBar。我要把按钮垂直地和左边对齐。我的代码如下:
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"));结果就是这样。

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

理想的结果应该是这样:

发布于 2016-11-11 16:34:47
我要按钮与左边对齐。
这是JToolBar的默认行为。没有必要使用布局管理器。
我希望这些按钮垂直叠加在一起。
同样,这是与默认布局管理器一起使用时的默认行为。
有关更多信息和工作示例,请参阅有关如何使用工具条的Swing教程中的部分。
发布于 2020-10-07 22:18:32
FlowLayout只能将组件放置在水平行中,就像页面上的文本“流”一样。
您可以更改为垂直BoxLayout:toolbar.setLayout(new BoxLayout(toolbar, BoxLayout.PAGE_AXIS));,或者通过调用构造函数new JToolBar(SwingConstants.VERTICAL)获得相同的效果(因为JToolBar默认使用BoxLayout )。
但是,要左对齐,我相信您需要为每个添加的setAlignmentX(FlowLayout.LEFT)组件调用,而不是工具栏本身或其布局。参见,例如,BoxLayout教程。
https://stackoverflow.com/questions/40548784
复制相似问题