【发布时间】:2012-07-28 22:21:57
【问题描述】:
我有一个 JPanel (panel),其布局设置为 BoxLayout。我还有一个自定义类MapRow,它扩展了JPanel(并在一个简单的FlowLayout中包含了一些组件),我希望将MapRow的实例添加到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) 方法似乎不起作用...
编辑:我刚刚用虚拟JButtons 替换了MapRow 的实例,它们左对齐很好。那么JButtons之类的组件可以使用setAlignmentX()左对齐,但是JPanels就不行?
【问题讨论】: