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)
尝试在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正文宽度.
归档时间: |
|
查看次数: |
5588 次 |
最近记录: |