在我的应用程序中,我使用了一个包含自动完成详细信息的框架,即,如果我们选择名称,将自动显示该名称的详细信息。对于选择名称,我使用了带有下拉菜单的单独文本字段,类似于自动完成。
但是当我转到名称部分并使用鼠标单击名称时,它被选中,当我使用键盘导航键时,焦点不会停留在文本字段中,即使在用鼠标选择文本字段并使用键盘后,它也没有得到重点。
希望我清楚,如果您无法理解我的意思,我很抱歉..
我建议您使用 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;
}
});