Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> javax.swing.JList, Помогите составить модель... :( 
:(
    Опции темы
Alone
Дата 9.2.2004, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 3
Всего: 6



ИДЕ-шка при создании объекта JList - генерит мне вот такой код:
Код

       fileList.setModel(new javax.swing.AbstractListModel() {
           String[] strings = { "asdrwerwq", "asdrwerwq", "asdrwerwq", "asdrwerwq", "asdrwerwq", "asdrwerwq" };
           public int getSize() { return strings.length; }
           public Object getElementAt(int i) { return strings[i]; }
       });



Не "догоняю", как мне создать свою модель, для изменения листа? Подскажите пжалста!!!
Что надо сделать? Унаследовать javax.swing.AbstractListModel() ?
Добавить туда свой конструктор со String[]? Или как?


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 9.2.2004, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Самая простая изменяемая модель:
Код

public class ChangableListModel extends AbstractListModel
{
 private ArrayList list = new ArrayList();
 
 public Object getElementAt(int index) {
  if ( index < 0 || index > list.size() )
   return "";

  return list.get( index );
 }
 
 public int getSize() {
  return list.size();
 }
 
 public void addElement( String element )
 {
  int size = list.size();
  list.add( element );
  fireIntervalAdded( this, size, size+1 );
 }
 
 public void removeElement( int index )
 {
  list.remove( index );
  fireIntervalRemoved( this, index, index );
 }
}

PM MAIL   Вверх
KDA
Дата 10.2.2004, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.10.2003

Репутация: 1
Всего: 1



А чтобы не изобретать велосипед java.swing.DefaultListModel
PM MAIL   Вверх
XClan
Дата 17.2.2004, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



А можно так?
Код

public Object getElementAt(int index) {
  return delegate.elementAt( index );
}



--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
AntonSaburov
Дата 17.2.2004, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата
delegate.elementAt( index );

А откуда этот delegate взялся ?

Да и к тому же совет от KDA
Цитата
А чтобы не изобретать велосипед java.swing.DefaultListModel

очень приличный.
PM MAIL WWW ICQ   Вверх
XClan
Дата 18.2.2004, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: 2
Всего: 3



Класс DefaultListModel хранит данные в закрытом поле delegate типа Vector...
---------------------------------------------------------------------------------------------------
Попробовал код от DarkDS
Правда не понял насчет ArrayList - на нее кричит компилятор....

Что ему могло не понравится?
Код

ffjuser30/sampledir/JAL_demo.java [1 810:1] cannot resolve symbol
symbol  : class ArrayList  
location: class JAL_demo.DefaultListModel
           private ArrayList list = new ArrayList();
                   ^
ffjuser30/sampledir/JAL_demo.java [1 810:1] cannot resolve symbol
symbol  : class ArrayList  
location: class JAL_demo.DefaultListModel
           private ArrayList list = new ArrayList();
                                        ^
2 errors
Errors compiling addElement.


Это сообщение отредактировал(а) XClan - 18.2.2004, 11:15


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Alone
Дата 18.2.2004, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 3
Всего: 6



Спасибо.


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 18.2.2004, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



2XClan
Может то, что нету
import java.util.*;

Это сообщение отредактировал(а) DarkDS - 18.2.2004, 15:00
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1191 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.