powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать ComboBoxModel сформированую из БД
12 сообщений из 12, страница 1 из 1
Как создать ComboBoxModel сформированую из БД
    #33464223
myinter@mail.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как создать ComboBoxModel сформированую из БД...
Ранее я из БД наполнял масив String[] comboBoxItems
Код: plaintext
1.
2.
3.
4.
5.
6.
        
String[] comboBoxItems  = from DB

         for  ( int  i= 0 ; i<comboBoxItems.length; i++)
        {
          jComboBox1.addItem(comboBoxItems[i]);
        }

, но теперь хочу заменить на ComboBoxModel
Чтобы можно было использовать типа:
ComboBox1 = new JComboBox(MyComboBoxModel);

Как это правильно реализовать???
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33464275
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33464907
myinter@mail.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылку, но...
мне необходимо сделать некий клас содержащий модель даных подобно коду ниже
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
* JComboBox(model), e.g.: 

String query  =  "SELECT <column> FROM <table>"; 

PreparedStatement stmt = con.prepareStatement(query); 
ResultSet         rs   = stmt.executeQuery(); 

DefaultComboBoxModel comboModel =  new  DefaultComboBoxModel(); 

 while  (rs.next()) {  comboModel.addElement(rs.getString( 1 )); } 

JComboBox combo =  new  JComboBox(comboModel); 

чтобы все это осталось за кадром я хочу сделать отдельный класс comboModel
в котором буду формировать данные для комбобокса, увы пока не удается...
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33464927
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно я туплю и не понимаю суть проблемы, но:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
MyModel model = new  MyModel();
myCombo.setModel(model);

..


class MyModel extends AbstractListModel {
      ...

      public void setQuery(String query) {
             ...
      }
}

и пишете всю работу с БД в классе MyModel.
-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33464933
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
model.setQuery("SELECT <column> FROM <table>");
забыл добавить

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33464973
myinter@mail.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модель создать получилось и myCombo.setModel(model); тоже сработало,
однако визуально myCombo остается пустым, что нетак подскажите!!!
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33464986
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно при изменении содержимого вызывать
fireIntervalAdded(this, 0, getSize()-1); //при добавлении
fireIntervalRemoved(this, 0, size-1); //при удалении
fireContentsChanged(this, 0, size-1); //при изменении

можно еще глянуть в javadoc, полезно очень.


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33481075
myinter@mail.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот придумал некое решение, которое удовлетворило меня на 100%

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
/*	 * ComboBoxModel from Database	 */

 public   class  oraJCDM  extends  DefaultComboBoxModel
{
   private  Vector items =  null ;

   public  oraJCDM ()
  {
	 super ();
	 this .items =  new  Vector();
    
          // Здесь зачитка даных и тд...

           while  (rs.next()) 
          {                  
             for  ( int  i= 1 ; i<=numberOfColumns; i++) 
            {
              items.addElement(rs.getString(i));
            }
            row++;              
          }
          rs.close();

    
    
	Iterator it = items.iterator();
	 while  (it.hasNext())
    {
	 super .addElement(it.next().toString());
    }
    
  }

Далее вызывается все элементарно..

Код: plaintext
1.
2.
3.
4.
   private   void  jButton_actionPerformed(ActionEvent e)
  {   
    oraJCDM model =  new  oraJCDM();
    jComboBox1.setModel(model);
  }
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33481159
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myinter


нужно получение данных из БД вынести в отдельный метод, добавить
кнопку "обновить", и в ActionListener вызывать этот метод. тогда можно
будет синхронизировать данные по нажатию кнопки (данные на сервере
могут и измениться с момента получения их в список)

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33486116
u4x96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vector не лудшие решение, HashMap или статический масив(если можно) рулят.
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33497195
myinter@mail.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторVector не лудшие решение, HashMap или статический масив(если можно) рулят.

Код: plaintext
Может и так... но проще

Раньше я использовал обычный двумерный массив обектов,
динамически увеличивал его и пихал в него записи из БД,
но мне показалось намного проще использовать Vector...

А HashMap я использую для хранения клиентских настроек из БД
...
Рейтинг: 0 / 0
Как создать ComboBoxModel сформированую из БД
    #33620613
myinter@mail.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот столкнулся с небольшой проблемой,
а именно когда я создаю некую модель для одного комбобокса
то все работает нормально:
Код: plaintext
1.
2.
3.
    
oraJCDM model =  new  oraJCDM();
jComboBox1.setModel(model);

но у меня возникла ситуация, гогда имеется несколько комбобоксов
с одинаковой начинкой и я дабы для каждого из них не зачитывать из БД
одно и тоже, решил одну модель установить в эти комбобоксы

Код: plaintext
1.
2.
3.
4.
5.
    
oraJCDM model =  new  oraJCDM();
jComboBox1.setModel(model);
jComboBox2setModel(model);
jComboBox3setModel(model);

В каждого из комбобоксов свой метод на обработку,
но выполняются все три и по очереди и выберая елемент в одном автоматически устанавливается в других
ВИДИМО из-за общей модели, как можно этого избежать???
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать ComboBoxModel сформированую из БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]