我正在嘗試使用Twitter4構建Twitter客戶端。我將用戶推文和信息等存儲在Jlist的DefaultListModel中。我想添加用戶個人資料圖片,並執行此操作我使用ListCellRenderer設置圖標。我的問題在於,我只能將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());
我會得到什麼修改,使其啓用鳴叫的正確格式?
感謝您的幫助!
再次,如您在[上一個問題]中提到的(http://stackoverflow.com/questions/15488883/applying-a-listcellrenderer-to-individual-cells-請在jlist上創建併發布[sscce](http://sscce.org)。請記住,我們都是志願者,所以回答這個問題或讓它更容易回答的努力的責任應該是你的。請閱讀鏈接。 – 2013-03-18 23:52:37
@iainmac認爲您的渲染器像橡皮日期印模(https://www.google.com/search?q=date+stamper&hl=zh-CN&tbm=isch)。您輸入的值會修改渲染器的輸出,但每個值都使用相同的渲染器(或橡皮圖章)。 – rob 2013-03-19 00:37:05