当前位置: 首页 > 面试题库 >

显示格式化为HTML的大型JLIST

公孙宗清
2023-03-14
问题内容

我有一个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,相应地设置其属性,然后将其设置ListCellRendererJList



 类似资料:
  • 问题内容: 如何设置熊猫数据帧的IPython html显示格式,以便 数字是正确的 数字以逗号作为千位分隔符 大花车没有小数位 据我所知,有设施,我可以这样做: 对于其他数据类型也是如此。 但是在以html显示数据框时,IPython不会选择这些格式选项。我仍然需要 但上面有1,2,3。 编辑: 以下是我针对2和3的解决方案(不确定这是最好的方法),但是我仍然需要弄清楚如何使数字列正确。 问题答

  • fmt::Debug 看起来并不简洁,然而它对自定义输出外观通常是有好处的。而fmt::Display是通过手动的方式来实现,采用了{}来打印标记。实现方式看起来像这样: // (使用 `use`)导入 `fmt` 模块使 `fmt::Display` 可用 use std::fmt; // 定义一个结构体,使用 `fmt::Display` 来实现。这只是简单地给元组结构体`Structure`

  • 在Jquery Mobile中通过默认方法给内容添加样式是很简单的。我们的目标是让浏览器的默认渲染优先进行,然后我们加了一点小小的padding让页面看起来更有可读性,然后应用主题样式系统来分配字体和颜色 采用熟手优先原则给与了设计者和开发者一个干净的空间工作,而不是和一大堆复杂的样式代码战斗。 默认HTML标记样式 Default HTML markup styling 默认情况下,Jquery

  • 问题内容: 我正在创建一个HTML表,将在Excel中作为电子表格打开。我可以使用哪种HTML标记或CSS样式“讲述” Excel以将单元格的内容显示为文本? 问题答案: 您可以将格式应用于数字,文本,日期等的单元格。 请参阅我以前关于此的答案:HTML toExcel:如何告诉Excel将列视为数字? (已调整的代码段) 如果将CSS类添加到页面: 并在您的TD上拍那些课,行得通吗?

  • 主要内容:HTML 文本格式化,HTML 格式化标签,在线实例,HTML 文本格式化标签,HTML "计算机输出" 标签,HTML 引文 引用 及标签定义HTML 文本格式化 加粗文本 斜体文本 这是 下标 和 上标 HTML 格式化标签 HTML 使用标签 <b>("bold") 与 <i>("italic") 对输出的文本进行格式, 如:粗体 or 斜体 这些HTML标签被称为格式化标签(请查看底部完整标签参考手册)。 通常标签 <strong> 替换加粗标签 <b> 来使用, <em> 替

  • 提前感谢你的帮助。