Я пытаюсь использовать стили HTML в JLabel и преобразовать BufferedImage в jpg. Однако цвета совсем другие, чем я ожидал.
Вот код:
val html = "<html><body style='width: 400px; padding: 5px; margin:0; color:#000;'>" + "<h1>teststring1</h1>" + key + " <h2>teststring</h2><body></html>"
val textLabe = new JLabel(html)
textLabe.setSize(textLabe.getPreferredSize)
val d: Dimension = textLabe.getPreferredSize
val bi: BufferedImage = new BufferedImage(d.width, d.height, BufferedImage.TYPE_INT_ARGB)
val g = bi.createGraphics
textLabe.paint(g)
val a = new ByteArrayOutputStream()
ImageIO.write(bi, "jpg", a)
Как видите, цвет текста не черный, а фон черный вместо белого. Я попытался установить setForeground (Colors.white), setBackground (Colors.white) и setOpaque (true), но в этом случае цвет фона стал розовым.
Как я могу исправить эту проблему?