我有一个 JPanel ( panel
),其布局设置为 BoxLayout。我还有一个自定义类MapRow
,它扩展了 JPanel(并在其中包含一些简单的 FlowLayout 组件),我希望以简单的左对齐自上而下的方式添加MapRow
to的实例。panel
考虑以下方法:
public void drawMappingsPanel(JPanel panel) {
panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
int s = /* aMethodCall() */;
for (int i = 0; i < s; i++) {
MapRow row = new MapRow();
row.setAlignmentX(LEFT_ALIGNMENT);
panel.add(row);
}
}
但是,当我运行代码时,所有MapRow
面板都居中对齐,如下所示:
如何将MapRow
面板向左对齐?setAlignmentX(LEFT_ALIGNMENT)
方法好像不行。。。
编辑:MapRow
我刚刚用 dummy s替换了实例JButton
,它们左对齐都很好。所以像JButton
s 这样的组件可以使用 左对齐setAlignmentX()
,但是 JPanels 不能?