使String在TableModel中看起来像url

时间:2013-02-18 07:06:31

标签: java string swing url tablemodel

您好我正在制作一个程序并使用TableModel。我有6列用字符串提交。我想要第六列字符串使它看起来像URL。当我的意思是看起来像URL,我的意思是把它变成蓝色并加下划线。有可能吗?

3 个答案:

答案 0 :(得分:2)

您需要为jtable编写自定义TableCellRenderer。请参阅此link。这可能对您有所帮助。

答案 1 :(得分:1)

我很确定你可以简单地创建一个包含

的字符串
<html>...</html> 

它会起作用。只需在html代码中编写链接,就像在html中一样。如果您希望它显示为蓝色,则只需添加额外的代码。我想:

<font color='blue'>

会这样做

答案 2 :(得分:1)

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。

现在,即使你要在HTML中包含网址,你仍然无法点击它。表中没有组件。点击网址时,您真的不想进入编辑模式。你只想打开那个链接。为此,您需要向表本身添加一个鼠标侦听器。当您收到单击事件时,您将以编程方式确定它所在的单元格,返回到您的模型并获取该URL,最后使用其他Java API调用来打开该URL。