|
|
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Из основного окна открываю второстепенное и скрываю основное: private class PicActionListener implements MouseListener { @Override public void mouseClicked(MouseEvent e) { if(e.getSource().equals(L_pic)) setVisible(false); if (theory == null) { theory = new theoryN(); } if (!theory.isVisible()) { theory.setVisible(true); } Хотелось из второстепенного вернуть в основное, не создавая нового экземпляра, а вернув скрытое окно. Можно ли это как-то сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 19:30 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timein, попробуйте в конструктор дочернего окна передавать ссылку на родительское окно. И тогда вы получите управление родительским окном из дочернего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 19:35 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, немного не понял вашу мысль про диалоговые окна spider1581, правильно ли я понял, что вы имеете ввиду следующее: public class ChildFrame extends JFrame{ ParentFrame parent; public ChildFrame(ParentFrame parent){ this.parent=parent; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 20:26 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timein, да. а в методах дочернего окна уже писать Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 20:32 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
spider1581, вот с дочерним окном у меня как раз проблем не вышло) Но код, написанный в ParentFrame private class PicActionListener implements MouseListener { @Override public void mouseClicked(MouseEvent e) { if(e.getSource().equals(L_pic)) setVisible(false); if (theory == null) { theory = new theoryN(); } if (!theory.isVisible()) { theory.setVisible(true); } теперь ругается в месте theory = new theoryN(), потому что хочет указание на ParentFrame. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 20:45 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timeinтеперь ругается в месте theory = new theoryN(), потому что хочет указание на ParentFrame. ну так дайте ему это указание...я так понял theory это ваш дочерний фрейм? В его конструкторе вы прописали, что ему нужна ссылка на родителя. При инициализации дочернего фрейма нужно написать Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 20:57 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Да, theoryN - дочерний класс А разве this в данном случае не PicActionListener? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 21:49 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
В смысле, theory дочерний фрейм) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 21:50 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
TimeinА разве this в данном случае не PicActionListener? Нет, почитайте что такое this в java и как его использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 21:53 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
spider1581 , наверное, я что-то не до конца понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 22:10 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timeinspider1581 , наверное, я что-то не до конца понимаю эм...вы для слушателя целый класс используете...зачем если не секрет? Не досмотрел, да, в данном конкретном случаем this это обращение к классу слушателя. Где вы его используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 22:20 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timein, если все же хотите использовать класс для слушателя, то в классе главной формы: Код: java 1. 2. 3. 4. 5. 6. 7. И в слушатель передавайте переменную mf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 22:33 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
spider1581эм...вы для слушателя целый класс используете... Вероятно, потому что еще учусь и не всегда зню, как лучше сделать) spider1581зачем если не секрет? Не досмотрел, да, в данном конкретном случаем this это обращение к классу слушателя. Где вы его используете? Выглядит это приблизительно так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Я бы привел полный код программы, но он достаточно большой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 22:43 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
spider1581Timein, если все же хотите использовать класс для слушателя, то в классе главной формы: Код: java 1. 2. 3. 4. 5. 6. 7. И в слушатель передавайте переменную mf. Была такая мысль, но засомневался и не стал пробовать) Смотрю, что зря) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 22:46 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timein, можно и так оставить, но тогда вы создаете кучу одинаковых экземпляров класса, что, как мне кажется, не есть хорошо ибо чем больше созданных классов и переменных, тем больше ваша программа будет потреблять ресурсов системы. А можно для каждого лейбела добавить метод слушателя, в среде NetBeans например это делается ПКМ по нужному лейблу и выбираете нужное событие. Плюс данного метода в том, что вы используете минимум ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 23:05 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
spider1581Timein, можно и так оставить, но тогда вы создаете кучу одинаковых экземпляров класса, что, как мне кажется, не есть хорошо ибо чем больше созданных классов и переменных, тем больше ваша программа будет потреблять ресурсов системы. А можно для каждого лейбела добавить метод слушателя, в среде NetBeans например это делается ПКМ по нужному лейблу и выбираете нужное событие. Плюс данного метода в том, что вы используете минимум ресурсов. Код: java 1. 2. 3. 4. 5. Или я что-то неправильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 23:11 |
|
||
|
переключение между окнами
|
|||
|---|---|---|---|
|
#18+
Timein Код: java 1. 2. 3. 4. 5. Или я что-то неправильно понял? Ну здесь вы используете один экземпляр класса для всех лейбелов, т.е. по нажатию на любой из лейбелов, будь то back или pNote, вы будете обращаться к одному и тому же методу mouseClicked. Так тоже можно сделать. Все зависит от конкретной задачи, я же не знаю, что вы хотите сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2015, 23:18 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38998386&tid=2125213]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 354ms |

| 0 / 0 |
