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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AbstractTableModel 
:(
    Опции темы
#Maestro#
Дата 11.8.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



народ, помогите ещё раз! программа должна показать таблицу с двумя заданными значениями

файл 1;
    
Код

public class Run {
    
    public static void main(String[] args)    
    {
        JFrame frame = new FrameD();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        
    }
}

class FrameD  extends JFrame
{
   
    private String[] collumnNames = {"IP","Port"};
    SendRecieveTable SRC1;
    
    
    
    public FrameD()
    {
        SendRecieveTable SRC1 = new SendRecieveTable();
           SRC1.AddStroka(100,101);
        setSize(200,400);
              
    }        
}



Файл 2:

Код

public class SendRecieveTable extends javax.swing.JTable{
    
    public int IP;
    public int Port_D;
    public ArrayList List_IP   = new ArrayList();
    public ArrayList List_Port = new ArrayList();
        
    public SendRecieveTable() {
        SetModel();
               //AddStroka();
        }    
    
        public int GetIp()
        {
            return IP;
        }
        
           public int GetPort()
        {
            return Port_D;
        }
           
           public void AddStroka(int IP, int Port_D)
    {       
        List_IP.add(GetIp());
        List_Port.add(GetPort());
    }
           
           private void SetModel()
           {
         TableModel model = new TableD(2,1);
         this.setModel(model);        
           }
   

class TableD extends AbstractTableModel
{
    public int str;
    public int devices;    
    public int np;
    
    SendRecieveTable SRC1;
        
    
    public TableD(int _devbices, int _str)
    {        
        devices = _devbices;
        str = _str;
    }
    
    public int getRowCount() {return str;}
    public int getColumnCount() {return devices;}    
        
    public Object getValueAt(int c, int r)
    {           
        //d=new FrameD();
        Object d = 0;
        //SRC1 = new SendRecieveTable(100,101);        
        for(int i=0;i<List_IP.size();i++)    
        {
      d = List_IP.get(i);// & SRC1.GetPort();     
        }
      return d;              
    }
}
}    


прошу прощенья за может быть глупый. не пинайте сразу.  компилятор не заходит в функцию getValueAt класса TableD. подскажите как его реализовать? и в чём ошибка?

Это сообщение отредактировал(а) powerOn - 11.8.2008, 15:09
PM MAIL   Вверх
Orange
Дата 12.8.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В конструктор FrameD добавь:
Код

JTable table = new JTable(SRC1.new TableD(2,1));
add(new JScrollPane(table));


в AddStroka(int IP, int Port_D) добавь:
Код

this.IP = IP;
this.Port_D = Port_D;


(И да, почитай про code convention в Java)
--------------------
Пару дней назад я познакомился с мальчиком......
PM MAIL ICQ   Вверх
#Maestro#
Дата 13.8.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я, конечно, извиняюсь, но в таблица отображает только одно первое значение - IP, а надо бы в каждой ячейчке отобразить разные (во второй соответственно - Port_D и так далее). модель таблицы оказалась просто не нужна, это здорово. Но getValueAt() снова не задейтсвована.

Это сообщение отредактировал(а) #Maestro# - 13.8.2008, 12:24
PM MAIL   Вверх
powerOn
Дата 13.8.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(#Maestro# @  13.8.2008,  10:26 Найти цитируемый пост)
что это такое code convention?

Это правила оформления кода. Например писать имена методов в большой буквы в Java считается дурным тоном. ;-) ссылка


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
powerOn
Дата 14.8.2008, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(#Maestro# @  13.8.2008,  10:26 Найти цитируемый пост)
я, конечно, извиняюсь, но в таблица отображает только одно первое значение - IP, а надо бы в каждой ячейчке отобразить разные (во второй соответственно - Port_D и так далее). модель таблицы оказалась просто не нужна, это здорово. Но getValueAt() снова не задейтсвована.


Код свой покажи.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Orange
Дата 14.8.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(#Maestro# @ 13.8.2008,  09:26)
я, конечно, извиняюсь, но в таблица отображает только одно первое значение - IP, а надо бы в каждой ячейчке отобразить разные (во второй соответственно - Port_D и так далее).

Что это такое?
Код

public Object getValueAt(int c, int r)
    {           
        //d=new FrameD();
        Object d = 0;
        //SRC1 = new SendRecieveTable(100,101);        
        for(int i=0;i<List_IP.size();i++)    
        {
      d = List_IP.get(i);// & SRC1.GetPort();     
        }
      return d;              
    }

Во первых, ты каждый раз перезаписываешь Object d. Зачем..?
Во вторых, ты передаёшь в таблицу только List_IP. Откуда же у тебя там List_Port появится.
Возвращай двумерный Object - первыым элементом будет массив List_IP, вторым - List_Port

Цитата
"..и так далее"

И так далее не получится - у тебя таблица из одной строки: TableModel model = new TableD(2,1);
--------------------
Пару дней назад я познакомился с мальчиком......
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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