如何使 JLabel 的文本延伸到另一行?

有帮助吗?

解决方案

您可以通过将HTML代码中做到这一点,所以:

JFrame frame = new JFrame();
frame.setLayout(new GridLayout());
JLabel label = new JLabel("<html>First line<br>Second line</html>");
frame.add(label);
frame.pack();
frame.setVisible(true);

其他提示

如果你希望你的JLabel文本自动调整例如在拉伸的GridBagLayout其足够的只是把它的文本中的HTML标记,像这样:

JLabel label = new JLabel("<html>First line and maybe second line</html>");

输入<html></html>标签内的内容(即,“文本”属性字段)。所以,你可以使用<br> or<P>插入新行。

例如:

String labelContent = "<html>Twinkle, twinkle, little star,<BR>How I wonder what you are.<BR>Up above the world so high,<BR>Like a diamond in the sky.</html>";

它将显示如下:

一闪一闪亮晶晶,点击 我想知道你是什么。结果 了世界上面那么高,结果 像在天空中的钻石。

您还可以使用 嘉信标签SwingX 库.

JXLabel multiline = new JXLabel("this is a \nMultiline Text");
multiline.setLineWrap(true);

我已经使用的JTextArea用于多线的JLabel。

JTextArea textarea = new JTextArea ("1\n2\n3\n"+"4\n");

http://docs.oracle.com/ JavaSE的/ 7 /文档/ API /的javax /摆动/ JTextArea.html

在我的情况下,它是足够的文本在每个\n拆分,然后创建JLabel每行:

JPanel panel = new JPanel(new GridLayout(0,1));
String[] lines = message.split("\n");
for (String line : lines) {
    JLabel label = new JLabel(line);
    panel.add(label);
}

我在JOptionPane.showMessageDialog上面使用

是可能的使用(碱性)CSS 在HTML。


此问题是从多行的JLabel联 - 爪哇

String labelText ="<html>Name :"+name+"<br>Surname :"+surname+"<br>Gender :"+gender+"</html>";
JLabel label=new JLabel(labelText);
label.setVisible(true);
label.setBounds(10, 10,300, 100);
dialog.add(label);

为什么你给复杂的事情......你可以通过把的“\ n”,而不是HTML标签做

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top