我正在尝试使用Twitter4构建一个Twitter客户端。我将用户的推文和信息等存储在Jlist中的DefaultListModel中。我想添加用户个人资料图片并执行此操作我使用ListCellRenderer设置图标。我的问题是我只能将ListCellRenderer文本和图标设置为一个用户信息。我使用循环来下拉多条推文并将它们添加到模型中,但渲染器只设置了一条推文多次。
这是检索推文的代码
for (int i = 0; i < list.size(); i++) {
Status each = (Status) list.get(i);
UI.model.addElement("<html><body style='width: 450px;'>"
+ "@"
+ each.getUser().getScreenName()
+ " - "
+ each.getText() + "<html><br>");
UI.whatIsDisplayedList.setCellRenderer(new newsFeedRenderer(each)); }
这就是我设置ListCellRenderer的方式
JLabel pic = new JLabel();
try {
ImageIcon img = new ImageIcon(TwitterFunctions.eachTweetProfilePic(each.getUser()));
pic.setIcon(img);
setIcon(img);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TwitterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setText( "@" + each.getUser().getScreenName() + " - " + each.getText());
我需要做哪些修改才能正确格式化推文?
感谢您的帮助!
答案 0 :(得分:0)
你不应该将newFeedReader()传递给setCellRenderer(); ListCellRenderer是用于绘制单元格的对象,不能用作数据库类型的对象。 你想要做的是,