Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с двумя jFrame 
:(
    Опции темы
joker332
Дата 24.2.2011, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Я создал два JFrame , как по нажатию на кнопку открыть второй JFrame??
я начинаючий.....
PM MAIL   Вверх
Skipy
Дата 24.2.2011, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 4
Всего: 16



А как Вы открываете первый?


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
_Y_
Дата 24.2.2011, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Код

frame2.setVisible(true);

Понятно, что слушатель кнопки должен получить ссылку на frame2 (например, в своем конструкторе).

---------
Вообще-то тема для GUI ветки


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
zhz
Дата 4.4.2011, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 31.10.2006
Где: Petropavlovsk-Kam chatsky

Репутация: нет
Всего: 2



Дабы не создавать новую тему, спрошу здесь. В  NetBeans создал Desktop приложение, При выборе пункта меню, открывается второй Jframe, где пользователь вводит данные нажимает кнопку, Jframe закрывается, и в главном окне, например меняется надпись JLabel, иными словами, как управлять поведением компонентов, из другого Jframe, как к ним обращаться? 

И еще вопрос, делая New->JFrame Form создается новый файл NewJFrame.java в котором реализован  public static void main(String args[]) {}, зачем он нужен? ваедь уже есть один? 
И еще один непонятный момент, как в JTextArea реализовать контекстное меню, чтобы пользователь мог вставить данные не только через контрол+цэ но и через "правой кнопкой мышки"?

Это сообщение отредактировал(а) zhz - 4.4.2011, 14:37
PM MAIL ICQ   Вверх
_Y_
Дата 4.4.2011, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Цитата(zhz @  4.4.2011,  14:17 Найти цитируемый пост)
как управлять поведением компонентов, из другого Jframe, как к ним обращаться

По тому же принципу - ссылки на компоненты первого JFrame можно передать второму в конструкторе, например. Ну и потом обращаться к ним когда надо.
Цитата(zhz @  4.4.2011,  14:17 Найти цитируемый пост)
делая New->JFrame Form 

Это, надо понимать, из NetBeans. Значит точно не ко мне smile 
Цитата(zhz @  4.4.2011,  14:17 Найти цитируемый пост)
 JTextArea реализовать контекстное меню

Погугли на Java и "контекстное меню". Наверняка куча примеров найдется. Потом бери самый короткий пример и вперед. На каком компоненте его вызывать - не важно. Принцип один и тот же.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
zhz
Дата 5.4.2011, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 31.10.2006
Где: Petropavlovsk-Kam chatsky

Репутация: нет
Всего: 2



_Y_,  Что то наверное не так делаю..... Вот смотрите.. по нажатию кнопки, отображаю JFrame:
Код

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        NewJFrame frame = new NewJFrame(jLabel1);
        frame.setVisible(true);
        
    }

в конструктое передал JLabel1. Создал соответствующий конструктор в NewJFrame.java :
Код

public class NewJFrame extends javax.swing.JFrame {

    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }

    NewJFrame(JLabel jLabel1) {
       // только здесь я могу обратиться к JLabel1
    }



Только вот обращаться к JLabel1 я могу ТОЛЬКО внутри конструктора! я мне надо , например по жажатию кнопки на 2-ом JFrame.
PM MAIL ICQ   Вверх
jk1
Дата 5.4.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Цитата

Только вот обращаться к JLabel1 я могу ТОЛЬКО внутри конструктора!


Создайте переменную и сохраните там ссылку:
Код

public class NewJFrame extends javax.swing.JFrame {
    
    JLabel otherFrameLabel;

    public NewJFrame() {
        initComponents();
    }

    NewJFrame(JLabel jLabel1) {
        this();
        otherFrameLabel = jLabel1;
    {

     someOtherMethod(){
         otherFrameLabel.setText("New text");
     }




--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
zhz
Дата 5.4.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 31.10.2006
Где: Petropavlovsk-Kam chatsky

Репутация: нет
Всего: 2



jk1, Спасибо, буду пробовать. Только вопрос возник, в 10 ой строчке, зачем this()?
PM MAIL ICQ   Вверх
jk1
Дата 5.4.2011, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Цитата

Только вопрос возник, в 10 ой строчке, зачем this()? 


Я увидел initComponents(); и предположил, что Вы работаете с визуальным редактором NetBeans. Если это действительно так, то этот метод хорошо бы вызывать во всех конструкторах или вызывать из всех конструкторов конструктор по умолчанию, что я и сделал.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
_Y_
Дата 5.4.2011, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Цитата(zhz @ 5.4.2011,  15:05)
в 10 ой строчке, зачем this()?

Чуть расширенное объяснение:

this() в этом случае вызывает дрогой конструктор, тот что без параметров и в котором вызывается initComponents(). Такая структура позволяет обращаться из одного конструктора к другому и избегать повторений одного и того же кода в разных конструкторах. Да и структуру выполнения программы делает более логичной.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0895 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.