【问题标题】:Formated text in jlabel and imported valuesjlabel 中的格式化文本和导入的值
【发布时间】:2012-05-29 03:51:38
【问题描述】:

我想在 jlabel 中添加一些多行文本。我设法正确放置了一些html标签,所以我有我的多行jlabel。现在我面临着第二个我无法克服的挑战。我需要在本文中添加一些值。例如,假设我有来自用户的输入。其中之一是他的名字,在出现在 jlabel 上的这段文字中,我想和他打个招呼等等! 我该怎么做? 我试图用 html 连接几个字符串,但也连接了一些变量,但没有任何效果! 有什么想法吗?

【问题讨论】:

    标签: java html swing variables jlabel


    【解决方案1】:

    我对html一无所知,真的,不仅仅是例子

    来自代码

    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
    
    public class HTMLTextColour extends JFrame {
    
        private static final long serialVersionUID = 1L;
        private JButton button;
        private JLabel label;
        private String when = "  asked yesterday  ";
        private String who = "  Vagelism  ";
        private String reputation = "  110 *7  ";
        private String accept = "  86% accept rate  ";
    
        public HTMLTextColour() {
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            setLayout(new FlowLayout());
            button = new JButton("Sample text");
            button.setText("<html><font color=" + (button.isEnabled() ? "blue" : "red") + ">"
                    + button.getText() + "</font></html>");
            button.getModel().addChangeListener(new ChangeListener() {
    
                @Override
                public void stateChanged(ChangeEvent e) {
                    ButtonModel model = (ButtonModel) e.getSource();
                    if (model.isRollover()) {
                        label.setText(label.getText().replace("<html><strike>",
                                "<html>").replace("</strike></html>", "</html>"));
                    } else {
                        label.setText(label.getText().replace("<html>",
                                "<html><strike>").replace("</html>", "</strike></html>"));
                    }
                    if (model.isPressed()) {
                        when = "   QQQQQQQQQQQQ QQQQQQQQQQQQ:   ";
                        who = "   - wwwwwwwwwww - wwwwwwwwwww   ";
                        reputation = "  - eeeeeeeeeee - eeeeeeeeeee  ";
                        accept = "  - xxxxxxxxxxx - xxxxxxxxxxx  ";
                        label.setText("<html> " + when + " <br>" + " " + who + " <br>"
                                + " " + reputation + " <br>" + " " + accept + " </html> ");
                        pack();
                    }
                }
            });
            add(button);
            label = new JLabel("<html> " + when + " <br>"
                    + " " + who + " <br>"
                    + " " + reputation + " <br>"
                    + " " + accept + " </html> ");
            add(label);
            pack();
            setVisible(true);
        }
    
        public static void main(String argsv[]) {
            EventQueue.invokeLater(new Runnable() {
    
                public void run() {
                    HTMLTextColour hTMLTextColour = new HTMLTextColour();
                }
            });
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多