【发布时间】:2012-12-07 04:06:57
【问题描述】:
我正在 Swing 应用程序中实现 autocompleteDecorator。我的代码是这样的。
public inventory_purchase() {
initComponents();
AutoCompleteDecorator.decorate(this.combo);
}
public void autocomplete(){
try{
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection conn= DriverManager.getConnection("jdbc:derby://localhost:1527/C:/jpublisher/pub", "APP", "app");
Statement stmt = conn.createStatement();
String query="SELECT * FROM INVENTORY";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
combo.addItem(rs.getString("CATEGORY"));
}
}
catch ( ClassNotFoundException | SQLException ex) {
JOptionPane.showMessageDialog(null, "Data cannot be loaded. Error!!");
}
}
这个自动完成装饰器只有在我调用这个函数时才起作用
formWindowOpened(java.awt.event.WindowEvent evt){autocomplete();}
如何将此自动完成功能与关键侦听器一起使用?喜欢:
private void comboKeyReleased(java.awt.event.KeyEvent evt) {
autocomplete();
}
还有其他简单的过程来使用数据库中的自动完成功能吗?
【问题讨论】:
-
您不应该在每次需要发出语句时都实例化数据库连接。您应该在您的应用启动时执行此操作并将其保存在单例中
标签: java swing autocomplete decorator swingx