我有一个 JPanel ( panel),其布局设置为 BoxLayout。我还有一个自定义类MapRow,它扩展了 JPanel(并在其中包含一些简单的 FlowLayout 组件),我希望以简单的左对齐自上而下的方式添加MapRowto的实例。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,它们左对齐都很好。所以像JButtons 这样的组件可以使用 左对齐setAlignmentX(),但是 JPanels 不能?