【发布时间】:2012-03-01 23:59:58
【问题描述】:
我四处浏览,并没有找到专门针对我的情况量身定制的解决方案。我有一个显示在对话框中的面板:
//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);但似乎是心甘情愿。我见过有人提到要避免这样做。
-
The setalignmentx() isn't available for panels.-setAlignmentX()可供我使用。你能澄清一下吗? -
好吧,我发现了问题所在。如果你做 panel.add(headerPanel);然后做 headerPanel.setAlignmentX(Component.LEFT_ALIGNMENT);它不会正确对齐。但是,首先进行对齐,然后将 headerPanel 添加到对话框的面板中它工作得很好。去图吧。
-
我使用的是 headerPanel.setAlighmentX(Component.LEFT_ALIGNMENT);。 setAlignmentX 正在寻找浮点类型?并且没有工作。
标签: java swing user-interface layout-manager boxlayout