在我的应用程序中,我使用了一个由自动完成细节组成的框架,即如果我们选择名称,将自动显示该名称的详细信息。 为了选择名称,我使用了带有下拉列表的单独文本字段,类似于自动完成。
但是当我转到名称部分并使用鼠标点击名称时,它被选中,当我使用键盘导航键时,即使用鼠标选择文本字段并使用键盘后,Focus也不会停留在文本字段中,它没有得到关注。
希望我明白,如果你不明白我的意思,我很抱歉..
答案 0 :(得分: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;
}
});