Как мне заполнить jcombobox информацией из базы данных mySQL? - PullRequest
0 голосов
/ 25 октября 2009

В основном программа берет информацию о клиенте и сбрасывает ее в базу данных. Чтобы изменить информацию, я хочу, чтобы пользователь мог выбрать имя клиента из комбинированного списка, так что система может затем вызвать всю информацию из базы данных об этом клиенте. Доступ к базе данных - это хорошо, ввод информации и ее изменение - это нормально. Я просто не могу понять, как заставить комбинированный список заполняться всеми именами клиентов.

Ответы [ 2 ]

1 голос
/ 25 октября 2009

Это должно быть просто, если вы знаете, как заполнять обычный комбинированный список и как извлекать данные из базы данных. Поле со списком по умолчанию будет принимать массив строк в конструкторе, так что вы можете просто передать массив строк (имена клиентов), но я бы порекомендовал создать модель для поля со списком. Затем вы можете передать «Клиентов» в модель (скорее всего, несколько POJO), а затем, возможно, захотите создать средство визуализации, чтобы вы могли отображать имена по своему усмотрению. Затем, когда клиент выбран, вы можете запросить модель, чтобы получить идентификатор для выбранного клиента, а затем использовать его для получения необходимых данных клиента.

1 голос
/ 25 октября 2009

Самое простое решение - создать массив String из базы данных. Затем используйте это для создания комбинированного списка.

  String[] mydbStrings = .....;
  JComboBox mycombo = new JComboBox(mydbStrings);

Но это даст вам только некоторые строки. Может быть, лучше определить класс, который представляет клиента, загрузить клиентов из базы данных, убедиться, что в классе Customer определен соответствующий метод toString (), и создать массив клиентов, который используется в поле со списком. Таким образом, имена клиентов отображаются в поле со списком, но когда вы выбираете тот, у вас есть все данные клиента, которые легко доступны.

Если вы считаете, что это требует слишком много памяти для одновременной загрузки всех данных вашего клиента, можно создать меньший класс custInfo, содержащий только имя и идентификатор. Затем используйте это в выпадающем списке и загрузите остальные данные клиента после того, как они выбраны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...