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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление столбца в TableModel, Почему не отображается новый столбец? 
V
    Опции темы
Hopeless
Дата 25.10.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

package diploma.components;

import java.util.ArrayList;

import javax.swing.table.AbstractTableModel;

public class DataTableModel extends AbstractTableModel {
    private ArrayList row = new ArrayList();

    public DataTableModel(String Data) {
        if (Data.equals("")) throw new ExceptionInInitializerError("Constructor in "+getClass().getName()+" cannot receive \"\" value");
        try {
            String Temp[] = Data.split(";");
            ArrayList column = new ArrayList();
            for (int i = 0; i < Temp.length; i++) {
                if (!Temp[i].equals(";") && (Temp[i].indexOf("\n") == -1)) {
                    column.add(Temp[i]);
                }
                if (Temp[i].indexOf("\n") != -1) {
                    column.add(Temp[i].substring(0, Temp[i].indexOf("\n")));
                    row.add(column);
                    column = new ArrayList();
                    column.add(Temp[i].substring(Temp[i].indexOf("\n") + 1));
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * Returns the number of columns in the model.
     *
     * @return the number of columns in the model
     * @todo Implement this javax.swing.table.TableModel method
     */
    public int getColumnCount() {
        return ((ArrayList) row.get(0)).size();
    }

    /**
     * Returns the number of rows in the model.
     *
     * @return the number of rows in the model
     * @todo Implement this javax.swing.table.TableModel method
     */
    public int getRowCount() {
        return row.size();
    }

    public void addColumn() {
        fireTableStructureChanged();
        for (int i = 0; i < getRowCount(); i++) {
            ((ArrayList) (row.get(i))).add("dfr");
        }
        this.fireTableDataChanged();
    }
    /**
     * Returns the value for the cell at <code>columnIndex</code> and
     * <code>rowIndex</code>.
     *
     * @param rowIndex the row whose value is to be queried
     * @param columnIndex the column whose value is to be queried
     * @return the value Object at the specified cell
     * @todo Implement this javax.swing.table.TableModel method
     */
    public Object getValueAt(int rowIndex, int columnIndex) {
        System.out.println(((ArrayList) (row.get(rowIndex))).get(columnIndex).
                           toString());
        return ((ArrayList) (row.get(rowIndex))).get(columnIndex);
    }

    public String getData() {
        String Data = "";
        for (int i = 0; i < getRowCount(); i++) {
            for (int j = 0; j < getColumnCount(); j++) {
                Data += ((ArrayList) (row.get(i))).get(j).toString();
                if (j != getColumnCount() - 1) {
                    Data += ";";
                }
            }
            Data += "\n";
        }
        return Data;
    }
    
}


Вызываю код
Код

try{
            DataTableModel datatablemodel = (DataTableModel) (
                    getselectedexternalpanel().jTable2.getModel());
            datatablemodel.addColumn();

            datatablemodel.fireTableStructureChanged();
            
            getselectedexternalpanel().jTable2.setModel(datatablemodel);
            getselectedexternalpanel().jTable2.revalidate();
            getselectedexternalpanel().jTable2.repaint();
        }catch(Exception ex){
            ex.printStackTrace();
        }

который почему-то не добавляет столбец в jTable2 .

Проблема уже решена. Здесь представлен работающий код. Простите.. Можно удалить тему.

Это сообщение отредактировал(а) Hopeless - 25.10.2007, 14:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0847 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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