2015-06-22 4 views
0

Как говорится в названии, я действительно хочу знать, как одна форма JFrame может знать статус windowListening другой формы JFrame.Как один JFrame может знать статус другой Jframe?

Возможно, это будет путать, но я могу это прояснить.

У меня есть Основная Форма JFrame, которая вызывает 2 других формы JFrame. Итак, всякий раз, когда одна форма JFrame закрывается, она переводит основную форму JFrame в setVisible (true) и устанавливает для себя dispose().

Но я хочу знать статус друг друга в форме JFrame отдельно. Все, что я хочу:

  1. Если мой первый JFrame закрыт, проверьте состояние другого JFrame. Если этот другой JFrame активирован, то форма JFrame не будет вызываться. Если другой JFrame закрыт или уже удален(), тогда он shud вызывает основной JFrame для setVisible (true).

Надеюсь, у вас это получится. Может ли кто-нибудь помочь мне пройти через это.

Спасибо заранее.

См .: Все три формы JFrame находятся в одной упаковке. Я новичок в java, поэтому извините мои записи. : p

+1

См. [Использование нескольких JFrames, Good/Bad Practice?] (Http://stackoverflow.com/q/9554636/ 418556) –

+0

JFrame - это контейнер верхнего уровня, маловероятно, что вашему приложению требуется более одного (но не невозможного). Как правило, вы создаете один контейнер верхнего уровня, а затем используете JDialog или какой-либо другой контейнер верхнего уровня для других частей вашего приложения. Вы уверены, что вам нужно больше одного JFrame в вашем приложении? – Michael

+0

@ Майкл, это именно то, как я начал свой проект. Это действительно проект P2P, поэтому нам сказали создать новый JFrame всякий раз, когда есть новая визуальная итерация для проекта ur. Пример. У меня есть основной JFrame, у которого есть возможность запускать сервер, клиент или оба (для отладочной цели). Таким образом, очевидно, что серверу и клиенту нужен другой JFrame, который я делаю с того дня, когда начал свой проект. Это хорошая/плохая практика? Ответ: Вот почему я присоединяюсь к StackOverFlow/StackExchange. !! : D Опыт - это все, что мне нужно. ;) – androizer

ответ

0

Изготовление (2) однорядных классов JFrame, например. public class JFrame1 extends JFrame {}. Тогда вы всегда можете позвонить по номеру JFrame1.getInstance().isClosed() или что хотите. Если вы не знаете, как это будет работать, «дизайн шаблона java singleton» =)

+0

Я как-то отредактировал OP, вы можете взглянуть и посмотреть, если это имеет смысл. Я не опытный в написании нотации правильно. Редактировать: Поскольку я видел ответ ура, я кодирую в NetBeans, поэтому мои классы уже расширяют JFrame, как я могу продлить другой, когда это невозможно .. – androizer

+0

У меня нет прав редактировать OP, это может быть немного некорректно, но я понимаю этот вопрос. –

+0

Я обыскал один сингл java, но, к сожалению, я этого не понял. Может быть, он вышел из моей лиги. Есть ли другая работа вокруг? – androizer