我瀏覽過並沒有找到專門針對我的情況的解決方案。我有一個對話框顯示面板:java BoxLayout面板的對齊
//create dialog panel
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(headerPanel);
panel.add(type1Panel);
panel.add(type2Panel);
panel.add(type3Panel);
panel.add(type4Panel);
panel.add(type5Panel);
panel.add(type6Panel);
int result = JOptionPane.showConfirmDialog(null, panel, "Please enter values.", JOptionPane.OK_CANCEL_OPTION);
最後兩個面板的大小,成的Type5 & TYPE6,大小相等,所以他們看起來很好。不過,標題和前4個面板大小不同,我希望它們全部左對齊。到目前爲止,我還沒有找到一個很好的解決辦法來解決這個問題。
問題是,我該如何左對齊前5個面板,但不是最後2個?如果不是,我怎麼能把它們全部對齊? setalignmentx()不適用於面板。我嘗試過使用GridLayout,但是然後gui的主窗口的寬度相當大,並且不適合在屏幕上,因此沿Y軸方向BoxLayout。謝謝任何幫助或建議。
現在使用這個權利: headerPanel。setAlignmentX(Component.LEFT_ALIGNMENT); 但似乎是愚蠢的。我看到有人提到要避免這樣做。 – whitewolfpgh 2012-02-09 14:07:38
'setalignmentx()不適用於panel.' - 'setAlignmentX()'可用於我。你能澄清嗎? – Thomas 2012-02-09 14:08:22
嗯,我想出了問題。如果你做panel.add(headerPanel);然後做headerPanel.setAlignmentX(Component.LEFT_ALIGNMENT);它不會正確對齊。但是,首先進行對齊,然後將headerPanel添加到對話框的面板中,它工作得很好。去搞清楚。 – whitewolfpgh 2012-02-09 14:11:35