Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать ComboBoxModel сформированую из БД / 12 сообщений из 12, страница 1 из 1
29.12.2005, 13:32
    #33464223
myinter@mail.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
Подскажите как создать 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
29.12.2005, 13:46
    #33464275
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
...
Рейтинг: 0 / 0
29.12.2005, 17:25
    #33464907
myinter@mail.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
Спасибо за ссылку, но...
мне необходимо сделать некий клас содержащий модель даных подобно коду ниже
Код: 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
29.12.2005, 17:32
    #33464927
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
возможно я туплю и не понимаю суть проблемы, но:
Код: 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
29.12.2005, 17:33
    #33464933
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
Код: plaintext
1.
model.setQuery("SELECT <column> FROM <table>");
забыл добавить

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

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.12.2005, 17:56
    #33464973
myinter@mail.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
Модель создать получилось и myCombo.setModel(model); тоже сработало,
однако визуально myCombo остается пустым, что нетак подскажите!!!
...
Рейтинг: 0 / 0
29.12.2005, 18:05
    #33464986
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
нужно при изменении содержимого вызывать
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
13.01.2006, 12:19
    #33481075
myinter@mail.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
Вот придумал некое решение, которое удовлетворило меня на 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
13.01.2006, 12:38
    #33481159
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
myinter


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

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

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

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

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

А HashMap я использую для хранения клиентских настроек из БД
...
Рейтинг: 0 / 0
23.03.2006, 15:14
    #33620613
myinter@mail.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать ComboBoxModel сформированую из БД
Вот столкнулся с небольшой проблемой,
а именно когда я создаю некую модель для одного комбобокса
то все работает нормально:
Код: 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
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать ComboBoxModel сформированую из БД / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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