编程语言
首页 > 编程语言> > java-显示格式化为HTML的大型JLIST

java-显示格式化为HTML的大型JLIST

作者:互联网

我有一个Java小程序,其中必须显示大量项目(字典条目).用户需要能够选择列表中的各个项目,因此将其实现为JList.生成列表的速度非常快,直到我决定通过使用HTML格式化单个项目来使显示更具美感.现在,列表看起来很漂亮,但是每次用户访问字典时都需要10到15秒的时间来生成它(不格式化,它几乎立即发生).我想我可以通过在用户第一次进入应用程序时生成列表,然后根据需要隐藏和取消隐藏列表来提高性能.但是,我想知道是否有更好的方法.也许是一种更有效的方式来生成列表.

这是变慢发生的代码部分(在C和D的显示之间):

DefaultListModel dictCodeModel =  new DefaultListModel();
System.out.println("C");
while (e.hasMoreElements()) {
    String currentEntry = "";
    DEntry dentry = (DEntry) e.nextElement();
    if (!filter)                 
        dictCodeModel.addElement(dentry.theToken); // tokens have embedded html tags

}
System.out.println("D");

如您所见,这非常简单.当“ theToken”格式化为HTML时,我得到了真正的性能提升.关于如何解决此问题的任何想法?

谢谢,

解决方法:

您使用哪种HTML格式?如果只是文本样式(字体,颜色),则可以使用JLabel,相应地设置其属性,并为JList设置set it as ListCellRenderer.

标签:html,jlist,java
来源: https://codeday.me/bug/20191013/1908372.html