| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Записать значение элемент вектора |
| Автор: kadet89 4.2.2012, 01:02 | ||
вектор содержит 2 типа данных интеджеры и чары. Мне нужно в num занести значение методом add. Несколько часов читал спецификацию и гуглил. Перепробовал кучу вариантов и кроме ошибок компиляции ничего не выходит. Т.е. Вектор - чтото типо экзэмляра класса через который надо обратиться к num и symb. Пробовал так: v.num и так: v.num.add() - оба способа не работают. |
| Автор: Mirkes 4.2.2012, 05:29 | ||||||||||
Предложеное Вами обращение к вектру невено. Вектор - коллекция объектов (в Вашем случае объектов типа Structure. я возможно ошибаюсь, но по моему Ваш класс Structure недоопределен. Скорее всего следовало делать так
В этом случае мы имеем конструктор класса. Вектор описан нормально. Фрагмент добавления записи в вектор
Фрагмент чтения значения num из k-й записи вектора
С char аналогично. ВАЖНО. Поля num и symb определены у класса Struct а не у вектора. Вектор хороший аналог массива (но не в коем случае не массив!) и для обращения к одному из элементов надо указать индекс! |
| Автор: Pawl 4.2.2012, 10:50 | ||
Вот так тоже работает:
|
| Автор: kadet89 4.2.2012, 15:51 |
| А если у меня не char а массив чаров public char[] symb = new char[8] И я хочу добавить в них допустим слово abcd, как это сделать? Если вместо 'a' указать "abcd" - это уже string. Надо както так { '', '' } или как? |
| Автор: Pawl 4.2.2012, 17:04 | ||||
или так
|
| Автор: kadet89 4.2.2012, 20:32 | ||
Заполняю: v.add(new Struct(1, "2", "3", "4", "5", "6" )); v2.addElement("Title1"); v2.addElement("Title2"); v2.addElement("Title3"); v2.addElement("Title4"); v2.addElement("Title5"); v2.addElement("Title6"); Компилится нормально, без ошибок. Но при попытке заполнить заранее созданную пустую, но рабочую JTable программа перестает запускаться. Была пустая таличка: //searchresults = new JTable(22,4); Сделал так и теперь ничего не работает: searchresults = new JTable(v,v2); Проверял v и v2 v.get(0).num выдает 1, т.е. вроде вектор рабочий В консоль ничего не пишет, просто выводится что ошибка |
| Автор: Skynin 4.2.2012, 21:02 | ||
Описание выдаваемой ошибки нужно приводить. А также код который вызывает такую ошибку. Телепаты в природе очень редко встречаются чтобы на них рассчитывать. Во-вторых JTable работает с моделью TableModel, которую и создает при вызове new JTable(22,4); А вот что вы передаете new JTable(v,v2); непонятно. Наверное хотите вызвать конструктор: JTable(Vector rowData, Vector columnNames) Смотрим в доку, и видим пример как должен быть организован rowData: ((Vector)rowData.elementAt(1)).elementAt(5); Ваш rowData такой? массив массивов? и что за проверка - v.get(0).num? JTable ничего знать не знает ни о каких полях "num" Рекомендую пройти http://docs.oracle.com/javase/tutorial/uiswing/ Или, если сложности с английским - прочесть книжку: Г. Шилдт "SWING: руководство для начинающих". Есть в инете. |
| Автор: kadet89 4.2.2012, 21:09 |
Модератор: Сообщение скрыто. |