如何在没有元素重叠的情况下在 java 中使用布局?
Posted
技术标签:
【中文标题】如何在没有元素重叠的情况下在 java 中使用布局?【英文标题】:how do I use layouts in java without elements overlapping? 【发布时间】:2021-11-29 17:07:01 【问题描述】:我想让我的菜单栏和帮助栏彼此相邻,但如果它们共享相同的位置,它们会重叠,我如何让它们彼此相邻?
add(menuBar, BorderLayout.PAGE_START);
add(helpBar, BorderLayout.PAGE_START);
【问题讨论】:
菜单栏使用自己的布局。您不应该像当前尝试的那样使用这些 BorderLayout 约束。 见:What should I do when someone answers my question 【参考方案1】:框架的标准 UI:
-
标题栏
菜单栏
工具栏
垂直显示。
所以标准代码是:
frame.setJMenuBar( menuBar );
frame.add(toolBar, BorderLayout.Page_START);
如果您真的希望 menuBar 和 toolBar 显示在同一行,那么您需要将 toolBar 添加到 menuBar。
代码可能是这样的:
menuBar.add( Box.createHorizontalGlue() );
menuBar.add( toolBar );
现在工具栏将出现在框架的右侧。
如果您希望工具栏位于菜单栏旁边,请尝试:
menuBar.add( Box.createHorizontalStrut(10) );
menuBar.add( toolBar );
【讨论】:
以上是关于如何在没有元素重叠的情况下在 java 中使用布局?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不重叠的情况下在 UIButton 中实现两个 IBAction?
如何在没有要映射的对象数组的情况下在 React.js 中循环和渲染元素?