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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> в таблицу JTable вставить значение 
V
    Опции темы
Anime
Дата 6.3.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 88
Регистрация: 13.11.2006
Где: Киев

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



есть таблица в ней уже забита информация, но есть колонка в каторой нету значений
Так вот при нажатии кнопки изменялась тама значение
вот абстрактный тайбл модел
Код

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package jinviter;

import java.util.Vector;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Токио
 */
public class SearchTableModel extends AbstractTableModel {

    Vector v;
    SearchCollector scr;
    public SearchTableModel(Vector v) {
        this.v = v;
    }

    public int getRowCount() {
        if(v != null) {
            return v.size();
        }
        return 0;
    }

    @Override
    public String getColumnName(int column) {
        String[] colNames = { "ID", "Текст", "Статус" };
        return colNames[column];
    }

    public int getColumnCount() {
        return 3;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        if(v != null) {
            scr = (SearchCollector) v.get(rowIndex);
            switch(columnIndex) {
                case 0:
                    return scr.getId();
                case 1:
                    return scr.getNick();
                case 3:
                    return scr.getStatus();
            }
        }
        return null;
    }

    public SearchCollector getData(int rowIndex) {
        if(v != null) {
            if(rowIndex<v.size() && rowIndex>=0) {
                return (SearchCollector)v.get(rowIndex);
            }
        }
        return null;
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex){
        //SearchCollector ss = this.getData(rowIndex);
        //System.out.println(ss.getId());
        //ss.setId(ss.getId());
        //ss.setNick(ss.getNick());
        //ss.setStatus(aValue.toString());
        //v.addAll(columnIndex, ss.);
        //v.add(ss);
        //System.out.println(this.getData());
        //v.add(scr);
        fireTableCellUpdated(rowIndex, columnIndex);
        //System.out.println(aValue + "-" + rowIndex + "-" + columnIndex);
    }
}

Вот я не пойму как внести изменения если данные передаются через вектор
Все закоментированные мной копируют строки, а это мне не нужно

Мне надо чтоб на определенной строке изменялся тока 3 ячейка!

Зы вот на всякий случай действие при нажатии кнопки
Код

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

        SearchTableModel stm = (SearchTableModel) jTable1.getModel();
        SearchCollector scr = (SearchCollector) stm.getData(jTable1.getSelectedRow());
        
        stm.setValueAt("sad", jTable1.getSelectedRow(), 2);
        stm.fireTableDataChanged();


    }




Это сообщение отредактировал(а) Anime - 6.3.2009, 21:13
PM   Вверх
Anime
Дата 7.3.2009, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 88
Регистрация: 13.11.2006
Где: Киев

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



 smile 
PM   Вверх
Anime
Дата 7.3.2009, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 88
Регистрация: 13.11.2006
Где: Киев

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



 smile 
Код

    public void setValueAt(Object aValue, int rowIndex, int columnIndex){
        Vector r = new Vector();

        SearchCollector sss = (SearchCollector) this.getData(rowIndex);
        sss.setStatus(aValue.toString());
        sss.setId(sss.getId());
        sss.setNick(sss.getNick());
        r.add(sss);

        v.remove(rowIndex);
        v.addAll(rowIndex, r);

        fireTableCellUpdated(rowIndex, columnIndex);
    }


Вроде додумался  smile  smile 

И ошибку нашел
Код

                case 3: // надо было 2 вместо 3 -)
                    return scr.getStatus();


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


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

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