Я сделал комбобокс, который заполняется записями базы данных. Проблема, с которой я столкнулся сейчас, заключается в том, что когда я пишу «H», список заполняется всеми именами, начинающимися с «H» по мере необходимости, но автоматически выбирается первое имя в списке. Как избежать этой проблемы?JComboBox выбирает первый элемент iteself
String ch = text.getText();
if (ch.equals("")) {
combo.setVisible(false);
} else {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/userlogin", "root","12345");
Statement st = connect.createStatement();
ResultSet rs = st.executeQuery("SELECT author_name FROM scrpd_authors WHERE author_name LIKE '"+ ch + "%'");
while (rs.next()) {
String name = rs.getString("author_name");
if (name.equals("")) {
searchitems.addItem("");
} else {
searchitems.addItem(rs.getString("author_name"));
searchitems.setVisible(true);
}
}
connect.close();
} catch (Exception ex) {
}
}
Пожалуйста, обратите внимание, что выпадающий заполняется все мои желаемые записи на основе запроса MySQL, проблема только с выбором первого въезда сам по себе.
Что именно следует выбрать? Вы можете использовать прослушиватель, а затем отменить первую запись после заполнения списка. –
Убедитесь, что первый элемент является пустым 'String'. – tmwanik
Почему это проблема? Лучший случай, когда пользователь уже выбрал правильный вариант, в худшем случае ему нужно спуститься вниз, чтобы выбрать правильный, что он должен делать и в вашем подходе. –