具有可调整大小和固定大小标签的Swing布局

时间:2015-11-05 21:44:04

标签: java swing layout-manager

我有JPanelJLabels需要一个接一个地放在一行:

First View

但是当第一个JLabel包含非常长的文本时,我希望它被截断,但显示整个JLabel,如下所示:

enter image description here

我已为此尝试了BorderLayout,但它使第二标签文字始终与JPanel的右侧对齐,这不是我需要的。

您能否告知正确的方法来实现所需的布局?

1 个答案:

答案 0 :(得分:2)

您可以使用水平BoxLayout

关键是要使第一个组件的最小尺寸(0,0);

Box box = Box.createHorizontalBox();

JLabel longLabel = new JLabel("this has lots fo text");
longLabel.setMinimumSize( new Dimension(0, 0) );
box.add(longLabel);

box.add(Box.createHorizontalStrut(5));

JLabel shortLabel = new JLabel("little text");
box.add(shortLabel);