Rendu HTML Swing : surmonter les limitations de DrawString
Dans Swing, la méthode drawString offre une prise en charge limitée du formatage HTML. Pour restituer efficacement les chaînes HTML, des approches alternatives sont nécessaires.
Une solution possible consiste à exploiter le composant JLabel, un composant Swing spécialisé conçu pour afficher du texte. En ajoutant la chaîne au format HTML à une instance JLabel et en l'attribuant à un CellRendererPane, il est possible de peindre la chaîne avec le rendu HTML.
Cette technique permet un meilleur contrôle sur le rendu HTML, y compris la possibilité de le personnaliser. la couleur, la police et l'emplacement du texte rendu. L'exemple de code fourni crée un composant JLabel réutilisable qui peut être peint à plusieurs reprises à différents endroits avec différentes couleurs, ce qui donne un rendu HTML visuellement attrayant et dynamique :
public class PaintComponentTest extends JPanel { private JLabel renderer = new JLabel(s); // HTML-formatted string private CellRendererPane crp = new CellRendererPane(); private Dimension dim; public PaintComponentTest() { dim = renderer.getPreferredSize(); this.add(crp); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); for (int i = 0; i < N; i++) { renderer.setForeground(Color.getHSBColor((float) i / N, 1, 1)); crp.paintComponent(g, renderer, this, i * dim.width, i * dim.height, dim.width, dim.height); } } }
Cette approche améliorée fournit une solution personnalisable et visuellement attrayante. pour le rendu des chaînes HTML dans Swing, en répondant aux limitations de la méthode drawString.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!