Ссылочный массив кнопок и текстовых полей в Java - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть список текстовых полей и список кнопок.Они расположены на форме с помощью кнопок рядом с текстовыми полями.Допустим, их 5, от 1 до 5. В действительности, число будет создано во время выполнения.

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

Я хотел бы создать связь между каждой кнопкой и текстовым полем, чтобы я знал, какое текстовое поле нужноукажите, какая кнопка была нажата.

Есть ли здесь стандарт Java?Если нет, то любые предложения приветствуются.

Спасибо

Ответы [ 4 ]

1 голос
/ 15 февраля 2012

Я бы хотел создать связь между каждой кнопкой и текстовым полем

Создать класс ActionListener, который принимает текстовое поле в качестве параметра. Что-то вроде:

JTextField textField = new JTextField();
JButton button = new JButton(...);
button.addActionListener( new FormPopupListener( textField ) );

Затем вы можете сохранить текстовое поле как переменную в своем классе слушателя, а когда диалоговое окно закроется, вы можете обновить текстовое поле.

1 голос
/ 15 февраля 2012

Ну или оберните или расширьте JButton, чтобы добавить поле JTextfield.После создания кнопки передайте ей соответствующее текстовое поле, и затем вы сможете передать эту информацию.

0 голосов
/ 15 февраля 2012

В основном вы можете создать подкласс JButton с дополнительным атрибутом index. Вы можете заполнить индекс при создании кнопок, и он будет ссылаться на индекс текстового поля в массиве текстовых полей. Если вы хотите, вы можете даже присвоить имя каждому текстовому полю и добавить их на карту, а затем дать имя кнопке для поиска нужного текстового поля.

0 голосов
/ 15 февраля 2012

У вас есть два списка, почему бы не использовать индекс в списке? Кнопка с индексом 0 относится к текстовому полю с индексом 0 и т. Д. Другой альтернативой было бы заключить их в объект, содержащий кнопку и текстовое поле, и запустить один список.

Я бы использовал второй маршрут, но нет ничего плохого в том, чтобы просто использовать индекс списка.

...