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

Поиск:

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


Шустрый
*


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

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



При таком коде ячейкм таблицы изменяются внешне, но вот при попытке обращения к ним всегда 0.
Несмотря на то что я уже записала туда(как пользователь) что-нибудь другое.

Код

JTable   myWeightsTable = new JTable(width, height);


Код

            for (int i = 0; i < width; i++) {
                for (int j = 0; j < height; j++) {
                    myCurrentConnection.getWeights()[i][j] = (Double)myWeightsTable.getValueAt(i, j);

                    //myCurrentConnection.getWeights()[i][j]  = 5
                }
            }
 

Как изменять ячейки таблицы, так чтобы потом можно было забрать измененное значение?
PM MAIL   Вверх
goodday1941
Дата 27.4.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



создать модель нужно

Добавлено через 2 минуты и 1 секунду
вот ссылка очень хорошая для начала: ссссылочка


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
nornad
Дата 27.4.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Что-то я не понял, чего именно ты хочешь?
Изменить значение в ячейке или изменить ширину ячейки?


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
марина
Дата 29.4.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я хочу изменить значение в ячейке и взять его оттуда. А у меня не получается.
Я прочитала по той ссылке все, но что-то не вышло. 
Сейчас код такой.
Это модель для моей таблицы.
Код

    private class MyTableModel extends AbstractTableModel {

        private String[] columnNames;
        private double[][] data;

        MyTableModel(int w, int h) {
            columnNames = new String[h];
            data = new double[w][h];
        }

        public int getColumnCount() {
            return columnNames.length;
        }

        public int getRowCount() {
            return data.length;
        }

        public String getColumnName(int col) {
            return columnNames[col];
        }

        public Object getValueAt(int row, int col) {
            return data[row][col];
        }

        public Class getColumnClass(int c) {
            return getValueAt(0, c).getClass();
        }

        public boolean isCellEditable(int row, int col) {
                return true;
        }

        public void setValueAt(Object value, int row, int col) {
            data[row][col] = ((Double)value).doubleValue();
            fireTableCellUpdated(row, col);
        }
    }

Это создание таблицы

Код

        myWeightsTable = new JTable(new MyTableModel(width, height));



а хочу я добиться такой простой функциональности:
Код

            for (int i = 0; i < width; i++) {
                for (int j = 0; j < height; j++) {
                    myCurrentConnection.getWeights()[i][j] = (Double)myWeightsTable.getValueAt(i, j);
                }
            }


потому что хоть я и изменяю веса в таблице и эти изменения отображаются на экране, но они не сохраняются в таблице... и забрать то что я только что изменила на экране я не могу

Можно простенький примерчик, как сделать таблицу, в которой можно изменять значения ячеек.
И забирать потом эти измененные значения. Или как исправить  код и чего в нем не хвататет для нудного результата.
PM MAIL   Вверх
nornad
Дата 29.4.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Цитата(марина @  29.4.2007,  17:16 Найти цитируемый пост)

а хочу я добиться такой простой функциональности:
Код

            for (int i = 0; i < width; i++) {
                for (int j = 0; j < height; j++) {
                    myCurrentConnection.getWeights()[i][j] = (Double)myWeightsTable.getValueAt(i, j);
                }
            }

Наводящий вопрос: а почему запись в массив getWeights() должна как-то влиять на сами значения?
Или давай полный код, или признавайся, что есть  myCurrentConnection и  myCurrentConnection.getWeights()

Вот тебе маленький примерчик:
Код

        Object[][] values = { {"one"}, {"two"}, {"three"} };
        String[] colnames = new String[] { "column #1" };
        JTable table = new JTable(values, colnames);
        table.getModel().setValueAt("four", 0, 0);

Аналогично потом и брать значение.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
марина
Дата 29.4.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



потому что если написать
Код

            for (int i = 0; i < width; i++) {
                for (int j = 0; j < height; j++) {
                    myCurrentConnection.getWeights()[i][j] = 5;
                }
            }

то будет присвоено 5.
а распечатав (Double)myWeightsTable.getValueAt(i, j); - получим 0 как и всегда, хотя я уже изменила на не 0 эту ячейку...
 

 Код программы оооочень большой, может быть я заблуждаюсь и ошибка не в этом.
Те в таблице не нужно никаких доп настроек и всяких моделей чтоб можно было брать значения ее ячеек и задавать их?
PM MAIL   Вверх
nornad
Дата 29.4.2007, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



Я тебе дал пример, используй зрение и разум.
Даю ещё наводку - ты присваиваешь в один массив, а таблица читает из другого. ;)

P.S. Либо делай модель, либо как в приведённом примере.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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