我是Java的新手,我正在尝试创建一个GUI应用程序,其中包含一些标签、按钮和文本字段。程序非常简单,我只想使用默认布局,即FlowLayout。我设法将所有东西都放置和调整好了,但唯一不起作用的似乎是对齐。我想使用特定的对齐方式放置按钮和文本字段,但每当我设置对齐方式时,它都会将文本移动到对象内部,而不是对象本身。例如,我写道:
button.setHorizontalAlignment(JButton.RIGHT);但它看起来像是在按钮内部对齐文本,而不是按钮本身。有没有办法对齐按钮本身,而不是它里面的文本?
我知道使用其他类型的布局(例如BoxLayout)可能会更容易对齐,但我只想在这个布局中使用FlowLayout,除非不可能使用FlowLayout对齐它们(我不这么认为)。
提前谢谢。
发布于 2012-03-04 15:52:26
请参阅构造函数FlowLayout(int align)。
使用指定的对齐和默认的5个单位的水平和垂直间隙构建新的
FlowLayout。对齐参数的值必须是FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER、FlowLayout.LEADING或FlowLayout.TRAILING之一。
看起来您想要的是this answer中的FlowLayout.RIGHT (顶部的组合框和复选框)。

发布于 2012-03-04 15:26:35
setHorizontalAlignment of AbstractButton设置图标和text的水平对齐方式,而不是按钮的位置。AbstractButton的默认值是SwingConstants.CENTER。
如果您想在将button..set添加到面板或frame..something时将其与位置对齐,请如下所示...
p.add(button, BorderLayout.SOUTH);//using `BorderLayout`流式布局通常用于在面板中排列按钮。它将从左到右排列按钮,直到同一行中没有更多的按钮。
发布于 2012-03-04 15:27:43
我不认为单独使用FlowLayout可以做到这一点。
我的建议是:
https://stackoverflow.com/questions/9553098
复制相似问题