Включение Jbutton в кадре из другого класса - GUIBuilder
Я создал JFrame, используя Netbeans IDE. Я отключил кнопку отправки, как только она нажата, чтобы обработать одно действие, которое я имел в другом классе. Если действие успешно завершено, мне нужно включить кнопку с именем Next в этом кадре, и если это не удалось, мне нужно снова включить кнопку Submit в этом же кадре. так как они были частными, я не могу получить доступ из другого класса. Если я создаю объект для этого, кнопка класса Jframe не была включена, и я думаю, что весь кадр был вызван еще раз с помощью вызова функции Initcomponents ().
1) как активировать кнопку в этом кадре после того, как какое-то действие было перенесено в другой класс.
2 ответа
Обычно я обычно предоставляю средства, с помощью которых основная форма может регистрировать ChangeListener
в детской форме.
Затем я предоставляю метод в дочерней форме, который возвращает boolean
указывая, что требуемая информация была заполнена или (т.е. isFormValid
)
Когда какая-то конкретная часть дочерней формы изменяется, она запускает событие change, уведомляя зарегистрированных слушателей об изменении дочерней формы (в данном случае родительской формы).
Затем родительская форма проверяет состояние дочерней формы и может сделать разногласия относительно того, что она должна делать...
Это базовая концепция шаблона наблюдателя, который просматривается через Swing API.
Он разъединяет ваш код и предотвращает ненужное экспонирование объектов (вы не хотите, чтобы дочерняя форма имела возможность изменять родительскую форму:P)
Вам нужен способ доступа к кнопкам, или, скорее, метод из вашего другого класса, который включит кнопки для вас.
Или вы можете получить возвращаемое значение, указывающее успех или неудачу, и в зависимости от этого вы можете изменить статус кнопки из метода actionPerformed.