java - JLabel的Newline




3 Answers

你可以嘗試這樣做:

myLabel.setText("<html>" + myString.replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("\n", "<br/>") + "</html>")

這樣做的好處是:

  • 它取代了所有換行符<br/>而不失敗。
  • 它自動地用&lt;&lt;代替<&gt; 分別,防止一些渲染破壞。

它所做的是:

  • "<html>" +在開頭添加了一個開始的html標籤
  • .replaceAll("<", "&lt;").replaceAll(">", "&gt;")轉義<>
  • .replaceAll("\n", "<br/>")br (HTML換行符)標記替換所有換行符
  • ...和+ "</html>"在最後關閉我們的html標籤。

PS:我非常抱歉喚醒這樣一個舊帖子,但無論如何,你的Java有一個可靠的片段!

java user-interface swing formatting jlabel

如何在JLabel顯示換行符?

例如,如果我想要:

你好,世界!
等等等等等等

這就是我現在所擁有的:

JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);

這是顯示的內容:

Hello World!blahblahblah

原諒我,如果這是一個愚蠢的問題,我只是在學習一些Swing基礎知識......




你可以做

JLabel l = new JLabel("<html><p>Hello World! blah blah blah</p></html>", SwingConstants.CENTER);

它會自動包裝它在適當的地方。




JLabel實際上能夠顯示一些基本的HTML,這就是為什麼它不響應你使用換行符(不像System.out)。

如果你放入相應的HTML並使用<BR> ,你會得到你的換行符。






Related