问题在于组件的居中布局,GridBagLayout总是“坐在” JPanel的中心,所以我不在乎它将如何在内部布局组件,我的问题是这些组件将开始在面板上布局。
我尝试了:
panel.setAlignmentX( JPanel.LEFT_ALIGNMENT );
但这并没有帮助。
任何想法?
最佳答案
您需要添加至少一个填充水平空间的组件。如果您没有这样的组件,则可以尝试以下操作:
GridBagConstraints noFill = new GridBagConstraints();
noFill.anchor = GridBagConstraints.WEST;
noFill.fill = GridBagConstraints.NONE;
GridBagConstraints horizontalFill = new GridBagConstraints();
horizontalFill.anchor = GridBagConstraints.WEST;
horizontalFill.fill = GridBagConstraints.HORIZONTAL;
panel.add(new JLabel("Left Aligned"), noFill);
panel.add(Box.createHorizontalGlue(), horizontalFill);