java – 如何将长字符串合并到JLabel中

前端之家收集整理的这篇文章主要介绍了java – 如何将长字符串合并到JLabel中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
标题所示:我需要将JLabel安装到JFrame中,但是JLabel中的文本太长,所以我需要添加一些换行符. JLabel中的文本是从在线 XML文件获得的,因此我不能将文本更改为包含换行符.

代码从XML文件提取数据

Element element = (Element)nodes1.item(i);
            String vær = getElementValue(element,"body");
            String v = vær.replaceAll("<.*>","" );  
            String forecast = "Vær: " + v;

在这种情况下,字符串我想添加一些linebreaks到字符串v.String v包含从xml文件中解析的数据.字符串预测将返回并设置为JLabel的文本.

只要问一些事情是不清楚的,谢谢提前!

解决方法

我建议使用JTextArea代替,并打开包装.在JLabel中执行此操作的唯一方法就是设置换行符< br />,如果您不知道该文本,您将无法正常工作(至少不容易).

JTextArea更加灵活.默认情况下,它看起来是不同的,但你可以围绕一些显示属性来使它看起来像一个JL​​abel.

一个简单的修改使用示例摘自How to Use Text Areas教程 –

public class JTextAreaDemo {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {         
                createAndShowGUI();
            }
        });
    }

    private static void createAndShowGUI(){
        final JFrame frame = new JFrame("JTextArea Demo");
        frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);

        final JPanel panel = new JPanel();
        JTextArea textArea = new JTextArea(
                "If there is anything the nonconformist hates worse " +
                "than a conformist,it's another nonconformist who " +
                "doesn't conform to the prevailing standard of nonconformity.",6,20);
        textArea.setFont(new Font("Serif",Font.ITALIC,16));
        textArea.setLineWrap(true);
        textArea.setWrapStyleWord(true);
        textArea.setOpaque(false);
        textArea.setEditable(false);

        panel.add(textArea);
        frame.add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

猜你在找的Java相关文章