我有一个flowlayout面板,里面有一个文本字段。虽然文本字段不是很宽,但我想在下一行放置组件。如何用空盒填充剩余空间?
答案 0 :(得分:3)
如果您需要对组件的布局方式进行更多确定性控制,则应考虑使用其他布局管理器,例如BoxLayout,GridLayout或GridBagLayout。您可以使用FlowLayout来执行您想要的操作,但是如果用户调整窗口大小会发生什么?或者在操作系统级别更改其字体DPI?不要将组件放在不同的行上作为将虚拟组件放入FlowLayout的副作用,而是考虑使用内置这些概念的布局管理器更明确地表达上/下关系(例如GridBagConstraints.gridy
)。 / p>
答案 1 :(得分:2)
填空JPanel
:
new JPanel();
答案 2 :(得分:1)
这里不需要过于复杂的事情。这个简单的解决方案是有效的(至少它对我有用):
panelObject.setLayout(new FlowLayout(FlowLayout.LEADING));
这将使用从左到右的默认读取方向(称为方向)在计算机左侧清除组件,而在具有从右侧读取方向的计算机上则相反。因此,它很适合国际化。如果您希望所有计算机上的组件都在左侧(以及右侧的空白区域),请使用new FlowLayout(FlowLayout.LEFT)
。
感谢@nIcE cOw在问题评论中建议此解决方案,并允许我将其作为答案发布。