我正在用java開發一個基於hibernate的小型基於swing的應用程序。我想從數據庫coloumn填充組合框。我該怎麼做?
而且我不知道在哪裏(在initComponents
,buttonActionPerformd
下)我需要做的。
對於使用我'的JButton,它的代碼保存在這裏:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int idd=Integer.parseInt(jTextField1.getText());
String name=jTextField2.getText();
String description=jTextField3.getText();
Session session = null;
SessionFactory sessionFactory = new Configuration().configure()
.buildSessionFactory();
session = sessionFactory.openSession();
Transaction transaction = session.getTransaction();
try {
ContactGroup con = new ContactGroup();
con.setId(idd);
con.setGroupName(name);
con.setGroupDescription(description);
transaction.begin();
session.save(con);
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
}
finally{
session.close();
}
}
您不應該在Swing事件派發線程中執行數據庫訪問 - 它將阻止UI直到數據庫通信完成。查看SwingWorker和本教程:http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html – 2010-03-28 11:10:12