如何在不使用HTML的情况下向JLabel添加换行符

Nau*_*hal 11 java swing jlabel multiline

如何添加换行符JLabel?我知道如果我使用简单的HTML,它会起作用.但是如果我使用html,JLabel则不会显示嵌入应用程序的字体.我使用该方法嵌入字体 - createFont()并使用JLabel.setFont()应用字体.

kle*_*tra 9

SwingX支持多行标签:

   JXLabel label = new JXLabel();
   label.setLineWrap(true);
Run Code Online (Sandbox Code Playgroud)


Ser*_*hiy 7


我不认为有直接(和简单)方法使用多行来执行JLabel而不会重复使用HTML.您可以改用JTextArea.

JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setLineWrap(true);
textArea.setOpaque(false);
textArea.setBorder(BorderFactory.createEmptyBorder());
add(textArea, BorderLayout.CENTER);
Run Code Online (Sandbox Code Playgroud)

它应该看起来几乎一样.如果不同组件有不同的字体,可以添加以下行以确保JTextArea的字体与JLabel相同

textArea.setFont(UIManager.getFont("Label.font"));
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


And*_*son 5

我正在使用方法嵌入字体 - createFont()) 并JLabel.setFont()用于应用字体。

取而代之的尝试,将其设置在HTML如图所示这里