문제
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>
또는<P>
Newline을 삽입합니다.
예를 들어:
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>";
다음과 같이 표시됩니다.
반짝 반짝 작은 별,
당신이 무엇인지 궁금합니다.
세상보다 너무 높고
하늘의 다이아몬드처럼.
당신은 또한 a를 사용할 수 있습니다 jxlabel ~에서 SwingX 라이브러리.
JXLabel multiline = new JXLabel("this is a \nMultiline Text");
multiline.setLineWrap(true);
나는 멀티 린 Jlabel에 jtextArea를 사용했습니다.
JTextArea textarea = new JTextArea ("1\n2\n3\n"+"4\n");
http://docs.oracle.com/javase/7/docs/api/javax/swing/jtextArea.html
제 경우에는 매번 텍스트를 분할하기에 충분했습니다. \n
그런 다음 a 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);
}
나는 위에서 a에서 사용했다 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);
왜 복잡한 것을 주는가 ... html 태그 대신 " n"을 넣어서 할 수 있습니다.
제휴하지 않습니다 StackOverflow