我需要一个具有多行单元格的 JTable,并将多个(在一个单元格中)URL 转换为可点击的超链接并支持基本样式操作(粗体、斜体、下划线),这意味着我可以在输入文本期间或之后编辑样式。我还需要它能够将样式化的单元格内容保存到数据库中。实现这一目标的最简单方法是什么?
我已经尝试创建一个自定义单元格编辑器(并解决了多行问题),它使用 JTextPane 并向其添加了关键侦听器,该侦听器在“空格”字符被释放时进行侦听,如果最后一个单词以“http://”开头,则删除它从它的文档中再次添加为带有 href 属性和蓝色的样式文本。我还添加了监听鼠标点击超链接的监听器。这一切都在编辑过程中起作用,但是当单元格失去焦点时,所有文本都变得无样式和黑色。也许是因为我使用了不同的渲染器和编辑器,但我也将关键侦听器添加到渲染器。在关闭和启动应用程序时,我在保存特别是设置表格单元格值时也遇到了巨大的问题。我应该继续尝试让它以这种方式工作,还是应该回去采取不同的方法,比如可能将 JTextPane 的内容类型设置为“text/html”。如果我这样做了,我真的不知道如何在您键入时将 URL 转换为超链接。
顺便说一句,编辑器扩展了 AbstractCellEdit,而渲染器扩展了 JTextPane。
任何帮助将不胜感激。