| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > работа с двумя jFrame |
| Автор: joker332 24.2.2011, 12:20 |
| Я создал два JFrame , как по нажатию на кнопку открыть второй JFrame?? я начинаючий..... |
| Автор: Skipy 24.2.2011, 13:40 |
| А как Вы открываете первый? |
| Автор: _Y_ 24.2.2011, 14:11 | ||
Понятно, что слушатель кнопки должен получить ссылку на frame2 (например, в своем конструкторе). --------- Вообще-то тема для GUI ветки |
| Автор: zhz 4.4.2011, 14:17 |
| Дабы не создавать новую тему, спрошу здесь. В NetBeans создал Desktop приложение, При выборе пункта меню, открывается второй Jframe, где пользователь вводит данные нажимает кнопку, Jframe закрывается, и в главном окне, например меняется надпись JLabel, иными словами, как управлять поведением компонентов, из другого Jframe, как к ним обращаться? И еще вопрос, делая New->JFrame Form создается новый файл NewJFrame.java в котором реализован public static void main(String args[]) {}, зачем он нужен? ваедь уже есть один? И еще один непонятный момент, как в JTextArea реализовать контекстное меню, чтобы пользователь мог вставить данные не только через контрол+цэ но и через "правой кнопкой мышки"? |
| Автор: zhz 5.4.2011, 10:19 | ||||
_Y_, Что то наверное не так делаю..... Вот смотрите.. по нажатию кнопки, отображаю JFrame:
в конструктое передал JLabel1. Создал соответствующий конструктор в NewJFrame.java :
Только вот обращаться к JLabel1 я могу ТОЛЬКО внутри конструктора! я мне надо , например по жажатию кнопки на 2-ом JFrame. |
| Автор: jk1 5.4.2011, 14:16 | ||||
Создайте переменную и сохраните там ссылку:
|
| Автор: zhz 5.4.2011, 15:05 |
| jk1, Спасибо, буду пробовать. Только вопрос возник, в 10 ой строчке, зачем this()? |
| Автор: jk1 5.4.2011, 15:10 | ||
Я увидел initComponents(); и предположил, что Вы работаете с визуальным редактором NetBeans. Если это действительно так, то этот метод хорошо бы вызывать во всех конструкторах или вызывать из всех конструкторов конструктор по умолчанию, что я и сделал. |
| Автор: _Y_ 5.4.2011, 22:54 | ||
Чуть расширенное объяснение: this() в этом случае вызывает дрогой конструктор, тот что без параметров и в котором вызывается initComponents(). Такая структура позволяет обращаться из одного конструктора к другому и избегать повторений одного и того же кода в разных конструкторах. Да и структуру выполнения программы делает более логичной. |