我是Java的新手,我正在尝试使用一些标签,按钮和文本字段创建一个GUI应用程序。该程序非常简单,我只想使用默认布局,即FlowLayout。我设法将一切都放好并且尺寸合适,但唯一似乎不起作用的是对齐。我想放置具有某些对齐的按钮和文本字段,但每当我设置对齐时,它都会将文本移动到对象内部而不是对象本身。例如,我写道:
button.setHorizontalAlignment(JButton.RIGHT);
但它似乎与按钮内的文本对齐而不是按钮本身。 有没有办法对齐按钮本身而不是内部的文本?
我知道使用其他类型的布局(例如BoxLayout)可以更容易地对齐东西,但我只想使用FlowLayout来实现这一点,除非使用FlowLayout无法对齐它们(我不会也这样觉得)。
提前致谢。
答案 0 :(得分:13)
请参阅构造函数FlowLayout(int align)
。
构造一个具有指定路线的新
FlowLayout
和一个默认的5单位水平和垂直间隙。 alignment参数的值必须是FlowLayout.LEFT
,FlowLayout.RIGHT
,FlowLayout.CENTER
,FlowLayout.LEADING
或FlowLayout.TRAILING
之一。
好像你正在追踪this answer {{3}}中的FlowLayout.RIGHT
(顶部的组合和复选框)。
答案 1 :(得分:2)
setHorizontalAlignment
的{{1}}设置图标和文字的水平对齐方式,而不是按钮的位置。 AbstractButton的默认值是SwingConstants.CENTER。
如果您想对齐按钮,请在将其添加到面板或框架时设置位置..这样的事情......
AbstractButton
流布局通常用于排列面板中的按钮。它会从左到右排列按钮,直到不再有按钮放在同一条线上。
答案 2 :(得分:2)
我不认为你可以单独使用FlowLayout来做到这一点。
我的建议是: