结合我试图寻找正确的答案,但没有任何帮助我至今。我对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