我一直被困在一個看似簡單的問題幾個小時,而我找不到解決方案。我正嘗試在Java中實現一個非常簡單的論壇,並且我正試圖在此時加載entrys。通過JDBC在JList中獲取數據 - 缺失的鏈接
我的論壇是一個JList,它填充了JPanels,它接受通過JLists DefaultListModel
和addMessage
方法的條目。所以,如果我不向數據庫中添加一個條目,它看起來像這樣:
MessageList m = new MessageList();
m.addMessage("NAME AUTOR", "<html><body style='width: 675px;'>Lorem ipsum dolor sit amet.", "22.01.13", "SOA");
給messageManager類看起來是這樣的:
public class MessageList extends JList{
DefaultListModel messageModel = new DefaultListModel();
MessageRenderer messageRenderer = new MessageRenderer();
public MessageList(){
this.setCellRenderer(messageRenderer);
this.setModel(messageModel);
}
public void addMessage(String author, String text, String date, String tag){
messageModel.addElement(new Message(author, text, date, tag));
}
}
我也寫的代碼得到一個ArrayList
(稱爲allBtr
)與從數據庫中的消息對象(稱爲ConBeitrag
):
ArrayList<ConBeitrag> allBtr = new ArrayList<ConBeitrag>();
ConBeitrag conBtr = new ConBeitrag();
try {
allBtr = conBtr.getAllBtr();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
的消息對象看起來像這樣:
public class ConBeitrag {
private int beitragid;
private int projektid;
private int mitarbeiterid;
private String beitragText;
private String erstellt_am;
private String geaendert_am;
private String schlagwort1;
private String schlagwort2;
private MdBeitrag mdBtr = new MdBeitrag();
public ConBeitrag(){
}
public ConBeitrag(int beitragid, int projektid, int mitarbeiterid, String beitragText, String erstellt_am, String geaendert_am){
this.beitragid = beitragid;
this.projektid = projektid;
this.mitarbeiterid = mitarbeiterid;
this.erstellt_am = erstellt_am;
this.geaendert_am = geaendert_am;
this.beitragText = beitragText;
this.schlagwort1 = schlagwort1;
this.schlagwort2 = schlagwort2;
}
public ArrayList<ConBeitrag> getAllBtr() throws SQLException{
MdBtrInterface modInt;
modInt = new MdBeitrag();
ArrayList<ConBeitrag> AlBtr = modInt.getAllBtr();
for(ConBeitrag object: AlBtr){
System.out.println(object.beitragText);
}
return AlBtr;
}
}
現在被拿到ArrayList
到,我可以傳遞到addMessage
方法的形式,最聰明的辦法嗎?我從GUI結束,然後從數據庫結束,現在我陷入了中間。
重寫的toString()方法:
@Override
public String toString() {
return mitarbeiterid + beitragstext + erstellt_am + schlagwort1 + schlagwort2;
}
是'ConBeitrag'「消息」是一些其他語言嗎? –
是的,有些術語是德語。 「ConBeitrag」或多或少是「ConMessage」。 – cflx
當你嘗試'addMessage()'時會發生什麼? –