Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > помогите советом


Автор: Alone 11.12.2003, 15:23
Есть массив, содержащий некоторую информацию.
Один элемент массива - созданный мной тип(N полей).

В цикле выбираю данные из массива, и вызываю метод другого класса, который создает 2объекта:
TextField & JButton(и его обработчика событий).

В результате получим на панели некоторе количество строк (по количеству записей в массиве) текстовых полей и кнопок

Панель:
--------------------
___________ [ del]

___________ [ del ]

___________ [ del ]

[ add ] добавить
[ok] сохранить
-------------------
Так вот: как бы так сориентироваться, что бы по нажатию на одну из кнопок [add]/[del]/[ok] я четко знал с каким элементом массива я в данный момент работаю?

Пытаюсь сделать произвольное добавление/удаление строк...

Автор: AntonSaburov 11.12.2003, 16:12
Класс EventObject и все его потомки имеют метод getSource(), который возвращает объект, породивший данное событие.

Автор: Alone 11.12.2003, 17:31
нет, не то...
Элемент массива - структура (класс. кому как нравится)
Через getSource я получу информацию о кнопке smile.gif всего лишь. (или я не прав?)
Я бы хотел каким нить образом в обработчик кнопки передавать например id элемента массива...
Задумка хоть чуточку понятнаconfused.gif

public class myRow(){
int id;
String name;
javax.swing.JTextField fld;
javax.swing.JButton btn;

}

...

for (int i=0; i<myArray.size(); i++){
myRow tmpRow=(myRow)myArray.get(i);
anyClass.createEdit(x,y,tmpRow);
y+=16;
}
после этого цикла я получу то, что в моем предыдущем посте.
Я хочу сделать так, что бы при нажатии на кнопку я знал с каким элементом массива myArray в данный момент я работаю, что бы сделать например myArray.remove(i);
...

public void createEdit(x, y, myRow row){

add(row.fld);
row.fld.setVisible(true);

add(row.btn);
row.btn.setBounds(xxx);
row.btn.setVisible(true);
и.т.д.
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)