要将两个jlabel在同一行上添加到jpanel的同一行上,将japnel布局设置为box布局,由于某些约束,我无法将布局更改为另一个布局,并且将box layout的属性从Y_AXIS更改为LINE_AXIS,因此请向我提供一些信息解决方案,所以我可以将jlabel放在同一行上。



contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));


因此,请让我知道上述解决方案。

最佳答案

似乎您认为您无法更改布局,因为您正在处理JFrame的内容窗格,并且不想更改窗口的其余部分。

在这种情况下,可以通过将两个JLabel添加到单独的JPanel(我们称为labelPanel)并将其添加到内容窗格中来使用嵌套布局。它看起来像这样:

JPanel labelPanel = new JPanel();
labelPanel.setLayout(new BoxLayout(labelPanel, BoxLayout.X_AXIS));
labelPanel.add(leftLabel);
labelPanel.add(Box.createGlue()); //creates space between the JLabels
labelPanel.add(rightLabel);

contentPane.add(labelPanel);

09-12 17:40