JTextPane插入显示相同的图标,而不是预期的图标

时间:2019-01-13 23:55:33

标签: java image swing insert jtextpane

我正在尝试建立一个聊天系统;学习JTextPane和文档时很简单。

我在文本文件中像这样聊天:

  

时间:12:14:56名称:Asad消息:您好丹麦语:):)

     

时间: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 :(得分:0)

谢谢大家。其整理。它正在缓存最后一个图标,所以我将样式变量移至尊重switch的状态,并且工作正常。关闭它。