Как добавить текст другого цвета в JTextPane

Может кто-нибудь помочь мне с простым журналом, я должен добавить в первую строку сообщения журнала JTextPane с выбранным цветом (зеленый ОК, красный сбой). Как достичь этого?

Ответы

Ответ 1

Это напечатает "BLAH BLEG" в двух разных цветах.

public class Main {
    public static void main(String[] args) {
        JTextPane textPane = new JTextPane();
        StyledDocument doc = textPane.getStyledDocument();

        Style style = textPane.addStyle("I'm a Style", null);
        StyleConstants.setForeground(style, Color.red);

        try { doc.insertString(doc.getLength(), "BLAH ",style); }
        catch (BadLocationException e){}

        StyleConstants.setForeground(style, Color.blue);

        try { doc.insertString(doc.getLength(), "BLEH",style); }
        catch (BadLocationException e){}

        JFrame frame = new JFrame("Test");
        frame.getContentPane().add(textPane);
        frame.pack();
        frame.setVisible(true);
    }
}

Посмотрите здесь: Учебник по стилю

и проверьте раздел с надписью: Пример использования текстовой панели для отличного примера динамического изменения цветов.

Ответ 3

Вы можете использовать HTML для этого, а затем выполните

textPane.setContentType("HTML/plain");