填写FlowLayout的空白区域

时间:2012-03-02 21:19:41

标签: java swing jlabel layout-manager flowlayout

我有一个flowlayout面板,里面有一个文本字段。虽然文本字段不是很宽,但我想在下一行放置组件。如何用空盒填充剩余空间?

3 个答案:

答案 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在问题评论中建议此解决方案,并允许我将其作为答案发布。