結合我試圖尋找正確的答案,但沒有任何幫助我至今。我對java的GUI編程頗爲陌生,實際上,對於java本身來說。我有經理理解JPA,如何使用JPA檢索,插入和刪除。的Java JTable中通過JPA
現在我想在一個JTable中顯示在我的數據庫中的數據。
目前,我有以下MySQL表(我想JTable中顯示
遊戲 編號PK詮釋 標題 出版商 類型 RELEASEDATE
至於編碼的擔憂,我已經成功地使用以下方式檢索表中包含的數據:
public List<Game> getGames(){
List<Game> games;
try{
TypedQuery<Game> selectGamesQuery = entityManager.createQuery("SELECT g FROM Game g", Game.class);
games = selectGamesQuery.getResultList();
} catch(Exception e) {
System.out.println(e);
}
return games;
}
This succesfully retu列出我可以迭代的遊戲列表。
然後,在我看來,我有以下
JScrollPane scrollPane = new JScrollPane();
contentPane.add(scrollPane, BorderLayout.CENTER);
tblGames = new JTable(new tblGamesModel());
tblGames.setShowVerticalLines(true);
tblGames.setShowHorizontalLines(true);
tblGames.setFillsViewportHeight(true);
scrollPane.setViewportView(tblGames);
這ofcourse使我們的表格模型,這就是我卡住了。
public class tblGamesModel extends AbstractTableModel {
private GameRepository gameRepository;
private List<Game> games;
/**
*
*/
public tblGamesModel(){
gameRepository = new GameRepository();
games = gameRepository.getGames();
}
private static final long serialVersionUID = 1L;
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return games.size();
}
@Override
public Object getValueAt(int arg0, int arg1) {
// TODO Auto-generated method stub
return null;
}
}
我知道這是一個很大的代碼,一個簡單的職位,但我真的不知道怎麼回事,以顯示當前的問題。任何良好的聯繫都會有所幫助,或者獨立提供建議。
感謝您抽出時間閱讀代碼,並可能幫助我。
記住,我只是一個學生的編程,所以我有很多東西需要學習有關公約等以及。所以也歡迎指針,因爲我渴望向更有經驗的開發人員學習。
非常感謝你拉斯海沃德,你的答案確實很精彩。我已經改變了你所建議的所有內容,而且你說得對,我用於表模型的命名約定看起來有點不合適。至於多線程查詢,謝謝。我甚至沒想過凍結我的用戶界面。這個問題現在也解決了。我唯一不明白的是枚舉部分。開關是否在列表<>中爲所有對象計數?還有一個問題,我如何從列表中排除該ID?我不能在查詢中使用它,因爲我想稍後檢索ID。再次感謝。 :) – 2011-03-03 09:32:44
啊..對不起..我忽略了交換機中的getId。對不起,這個愚蠢的問題。想通了,它的工作。今晚我可以安全入睡!謝謝。 – 2011-03-03 09:42:44