我目前正在使用Twitter4J API在Java中构建一个Twitter客户端。为了创建Twitter“时间轴”,我目前正在从Twitter中提取数据,例如个人资料图片,推文和用户名,然后在使用HTML格式化的JTextPane中显示它们。代码示例如下:
StringBuilder out = new StringBuilder();
try {
List<Status> statuses = HandleEvents.instance().twitter.getHomeTimeline();
out.append("<html>");
for (Status status : statuses)
{
out.append("<img src=\"").append(status.getUser().getProfileImageURL())
.append("\" width=30 height=30><b>").append(status.getUser().getName())
.append(":</b> ").append(status.getText())
.append("<br><br>");
}
out.append("</html>");
tweetsTextPane.setText(out.toString());
这会显示20条推文的时间轴,由两个换行符分隔。在每条推文下,我想放置一个名为“Retweet”的简单超链接,它调用我的一个Java方法--HandleEvents.instance()。twitter.retweetStatus(status.getId())
我将如何做到这一点?可以直接在标签之间进行调用,还是必须使用JavaScript进行调用?
任何帮助将不胜感激。非常感谢。
答案 0 :(得分:0)
你真的不需要有超链接吗?由于它是一个Swing应用程序,您只需添加JLabel
只有看起来像的超链接(但如果你付出一点努力,它也可能表现得像一个)。添加一个用于鼠标点击JLabel
的监听器,您可以将当前处理程序挂钩。
另一方面,如果您确实需要实际的HTML链接,那么您可以实现自己的HyperlinkListener。
以下是几个例子: