【发布时间】:2013-02-18 07:06:31
【问题描述】:
你好,我正在制作一个程序并使用TableModel。我有 6 列用字符串归档。我希望第六列字符串使它看起来像 URL。当我的意思是看起来像 URL 时,我的意思是把它变成蓝色并加下划线。有可能吗?
【问题讨论】:
标签: java string swing url tablemodel
你好,我正在制作一个程序并使用TableModel。我有 6 列用字符串归档。我希望第六列字符串使它看起来像 URL。当我的意思是看起来像 URL 时,我的意思是把它变成蓝色并加下划线。有可能吗?
【问题讨论】:
标签: java string swing url tablemodel
您需要为您的 jtable 编写自定义 TableCellRenderer。请参阅此link。这可能对您有所帮助。
【讨论】:
Sun 有一个关于创建 jtable 的非常好的教程 (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#modelchange)。在你开始之前通过它。希望本教程对您有所帮助。 但以下是我的建议。
("<html><b><u>link</u></html>");
<html><b><a href="link">bold</a></b></html>
类似的东西
但是,我不建议仅仅为了显示效果而更改模型中的数据。相反,我会创建一个自定义单元格渲染器来完成此效果并将其设置在桌子上。您可以将文本包装在 HTML 中,也可以在渲染器上手动设置字体颜色和样式属性以模仿 html。
现在,即使您将 url 包含在 html 中,您仍然无法单击它。表中没有组件。单击 url 时,您并不想进入编辑模式。您只想打开该链接。为此,您需要向表本身添加一个鼠标侦听器。当您收到点击事件时,您会以编程方式确定它结束的单元格,返回您的模型并获取 url,最后使用其他 Java API 调用打开该 url。
【讨论】:
我很确定您可以简单地创建一个包含
的字符串<html>...</html>
它会起作用的。只需像在 html 中一样在 html 标记中编码您的链接。如果您希望它显示为蓝色,则只需添加额外的代码。我认为:
<font color='blue'>
会做的
【讨论】: