JLabel进入GridBagLayout.如何修复宽度?

Ago*_*noX 4 java layout swing text jlabel

我有一个非常简单的JLabel文本很长.
父布局是GridBagLayout.
我希望包含Frame的宽度不超过某个值,比如160像素.
所以我将文本设置为"html",以便JLabel能够将文本包装成多行.
现在我只想"修复"JLabel的宽度.但我还没找到办法.
Jframe的最大大小,布局管理器不检查JLabel,所以我不知道是否有"简单"的解决方案.

这个非常简单的例子(只修复导入运行)显示了这种情况.

public class SSCE extends JFrame {

    public static void main(String [] args) {
        new SSCE().setVisible(true);
    }

    public SSCE() {

        setLayout(new GridBagLayout());

        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.weightx = 1;
        gbc.weighty = 1;
        gbc.fill = GridBagConstraints.BOTH;

        JLabel label = new JLabel("<html>one two three four five six seven eight nine ten eleven twelve thirteen");
        add(label, gbc);

        gbc.gridy=1;
        JLabel label2 = new JLabel("other content");
        add(label2, gbc);

        pack();

    }

}
Run Code Online (Sandbox Code Playgroud)

Nat*_* W. 5

尝试在HTML中指定宽度,如下所示:

String html = 
    "<html><body width='150px'>" +
    "Some content that will span 150 pixels and then line-wrap as necessary" +
    "</body></html>";
new JLabel( html );
Run Code Online (Sandbox Code Playgroud)

请注意,我150px在此示例中指定了pixels(),但可以通过其他方式指定HTML正文宽度.