题
如何使 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>";
它将显示如下:
一闪一闪亮晶晶,点击 我想知道你是什么。结果 了世界上面那么高,结果 像在天空中的钻石。
我已经使用的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
上面使用
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标签做
不隶属于 StackOverflow