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

2022-09-04 07:05:30

如何将新行添加到 ?我知道如果我使用简单的HTML,它会起作用。但是如果我使用HTML,则不会显示嵌入应用程序的字体。我正在使用该方法嵌入字体 - 并用于应用字体。JLabelJLabelcreateFont()JLabel.setFont()


答案 1

SwingX 支持多行标签:

   JXLabel label = new JXLabel();
   label.setLineWrap(true);

答案 2


我不认为有直接(和简单)的方法可以做多行的JLabel而不重复到HTML。您可以改用 JTextArea。

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

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

textArea.setFont(UIManager.getFont("Label.font"));

希望这有帮助。