Вставка JTextPane показывает тот же значок вместо ожидаемого - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь построить систему чата; простой во время изучения JTextPane и документа.

У меня есть чат, как это в текстовом файле:

Время: 12: 14: 56 Имя: Асад Сообщение: Привет, датчанин :):)

Время: 12: 22: 59 Имя: датский Сообщение: Привет, асад: (

Я отлично сделал элементы и получаю результат, кроме эмодзи. Что я испытываю, так это то, что последний значок стиля появляется на всех смайликах, как в текущем чате, с его печальным смайликом.

Вот мой код для установки иконки:

    Style happylabelStyle = sc.getStyle(StyleContext.DEFAULT_STYLE);
    Icon icon = new ImageIcon("smile_happy.gif");
    StyleConstants.setIcon(happylabelStyle, icon);


    Style sadlabelStyle = sc.getStyle(StyleContext.DEFAULT_STYLE);
    Icon icon1 = new ImageIcon("smile_sad.gif");
    StyleConstants.setIcon(sadlabelStyle, icon1);

А вот мой оператор switch, который отлично выполняется при чтении текста:

    case SMILE_HAPPY:
       doc.insertString(doc.getLength(), "Ignored",
                                happylabelStyle);
       break;
    case SMILE_SAD:
       doc.insertString(doc.getLength(), "Ignored",
                                sadlabelStyle);
       break;

Не уверен, где я делаю неправильно. Будет очень признательно, если кто-то может указать на проблему или предоставить какую-либо ссылку, которую я могу пройти, чтобы исправить это.

1 Ответ

0 голосов
/ 15 января 2019

спасибо всем. его разобрались. это было кэширование последнего значка, поэтому я переместил переменную стиля в соответствии с выражением switch, и он работал нормально. закрывая это.

...