1

jlabel に複数行のテキストを追加したいと考えています。いくつかのhtmlタグを正しく配置することができたので、複数行のjlabelがあります。今、私は乗り越えられない第二の試練に直面しています。このテキストにいくつかの値を入力する必要があります。たとえば、ユーザーからの入力があるとします。そのうちの 1 つは彼の名前で、jlabel に表示されるこのテキストでは、彼に挨拶したいと思います。どうすればいいですか?いくつかの文字列を html と連結しようとしましたが、いくつかの変数も連結しようとしましたが、何も機能しません! 何か案が?

4

1 に答える 1

2

例だけではなく、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();
            }
        });
    }
}
于 2012-05-23T21:17:59.583 に答える