質問

どのように私は、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>";

次のようにそれが表示されます。

きらきら星、
どのように私はあなたがあるのだろうか。
世界それほど高く、
上記アップ 空のダイヤモンドのようです。

また、 JXLabel に使用することができます< href = "https://swingx.java.net/" のrel = "nofollowを"> 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 /ドキュメント/ 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上記使用

HTMLでhref="https://stackoverflow.com/questions/5766175/word-wrap-in-jbuttons/5767825#5767825">使用(基本)CSSのにすることが可能です。

<時間>

この質問はhref="https://stackoverflow.com/questions/1377181/multiline-jlabels-java">複数行の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