Rumah > Java > javaTutorial > Bagaimana untuk Memaparkan Teks HTML menggunakan drawString dalam Swing?

Bagaimana untuk Memaparkan Teks HTML menggunakan drawString dalam Swing?

Linda Hamilton
Lepaskan: 2024-11-14 20:03:02
asal
286 orang telah melayarinya

How to Display HTML Text using drawString in Swing?

Ayunkan Isu HTML dengan drawString: Rendering Format HTML

Soalan:

Dalam percubaan untuk melukis teks HTML dalam komponen tersuai menggunakan kaedah drawString kelas Grafik, format HTML kekal tidak diiktiraf. Sebaliknya, rentetan itu dipaparkan tanpa sebarang rawatan khas.

Jawapan:

Walaupun kaedah drawString biasanya digunakan untuk melukis rentetan biasa, ia tidak menyokong pemformatan HTML secara semulajadi . Untuk memaparkan kandungan HTML dalam komponen Swing dengan berkesan, pendekatan alternatif disyorkan:

Menggunakan Komponen untuk Rendering HTML:

Penyelesaian pilihan melibatkan penciptaan komponen tersuai yang berfungsi tujuan khusus rendering HTML. Ini membolehkan kawalan yang lebih besar ke atas cara HTML ditafsirkan dan dipaparkan dalam komponen.

Sebagai contoh, coretan kod di bawah menggariskan pelaksanaan ringkas yang memaparkan teks HTML dalam JPanel menggunakan komponen pemapar:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.CellRendererPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class HtmlRenderer extends JPanel {

    private static final String HTML_STRING = "<html><b><i>Hello World!</i></b></html>";
    private JLabel renderer = new JLabel(HTML_STRING);
    private CellRendererPane crp = new CellRendererPane();
    private Dimension dim;

    public HtmlRenderer() {
        dim = renderer.getPreferredSize();
        this.add(crp);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        renderer.setForeground(Color.BLUE);
        crp.paintComponent(g, renderer, this, 0, 0, dim.width, dim.height);
    }

    private void display() {
        JFrame frame = new JFrame("HTML Renderer");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(this);
        frame.pack();
        frame.setSize(dim.width + 20, dim.height + 20);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                HtmlRenderer renderer = new HtmlRenderer();
                renderer.display();
            }
        });
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Teks HTML menggunakan drawString dalam Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan