3

我有一个流布局面板,里面有一个文本字段。虽然文本字段不是那么宽,但我想将组件放在下一行。如何用空框填充剩余空间?

4

3 回答 3

3

用空填充它JPanel

new JPanel();
于 2012-03-02T21:25:00.057 回答
3

如果您需要对组件的布局方式进行更确定的控制,则应考虑使用不同的布局管理器,例如 BoxLayout、GridLayout 或 GridBagLayout。你也许可以欺骗 FlowLayout 做你想做的事,但是如果用户调整窗口大小会发生什么?或者在操作系统级别更改他们的字体 DPI?与其将组件放在不同的行上作为将虚拟组件放入 FlowLayout 的副作用,不如考虑使用内置了这些概念的布局管理器更明确地表达上/下关系(例如GridBagConstraints.gridy)。

于 2012-03-02T22:02:50.013 回答
1

这里没有必要使事情过于复杂。这个简单的解决方案有效(至少对我有用):

panelObject.setLayout(new FlowLayout(FlowLayout.LEADING));

这将在具有从左到右默认读取方向(称为方向)的计算机上将组件刷新到左侧,而在具有从右侧读取方向的计算机上则相反。因此,它非常适合国际化。如果您希望所有计算机上左侧的组件(以及右侧的空白区域),请使用new FlowLayout(FlowLayout.LEFT).

感谢@nIcE cOw 在问题下的评论中建议此解决方案,并允许我将其发布为答案。

于 2017-04-30T15:19:14.790 回答