-1

在我的应用程序中,我使用了一个包含自动完成详细信息的框架,即,如果我们选择名称,将自动显示该名称的详细信息。对于选择名称,我使用了带有下拉菜单的单独文本字段,类似于自动完成。

但是当我转到名称部分并使用鼠标单击名称时,它被选中,当我使用键盘导航键时,焦点不会停留在文本字段中,即使在用鼠标选择文本字段并使用键盘后,它也没有得到重点。

希望我清楚,如果您无法理解我的意思,我很抱歉..

4

1 回答 1

0

我建议您使用 JComboBox 而不是 JTextField 进行下拉

使用loadCombo()方法在JComboBox.

然后使用

jComboBox.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae){
Object name=jComboBox.getSelectedItem();

//Make DB connection on name and fetch the details
//Use double vector for fetching data

Vector<Vector<String>> data = new Vector<Vector<String>>();
        data=getDetails();

Stsem.out.println(data);//To print data (for Confirmation that it works fine)
JOptionPane.showMessageDialog(this,data);


private Vector<Vector<String>> getDetails(Object name) {
//DB Connections
PreparedStatement pre = conn.prepareStatement("select * from Table");

ResultSet rs = pre.executeQuery();

while(rs.next())
{
Vector<String> item = new Vector<String>();
item.add(rs.getString(1)); 
item.add(rs.getString(2)); 
...
itemVector.add(item);
}

/*Close the connection after use (MUST)*/
if(conn!=null)
conn.close();

return itemVector;
            }
        });
于 2013-12-19T03:46:15.360 回答