SwingX支持多行标签:
JXLabel label = new JXLabel();
label.setLineWrap(true);
Run Code Online (Sandbox Code Playgroud)
我不认为有直接(和简单)方法使用多行来执行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)
希望这可以帮助.