Как я могу отобразить новый графический интерфейс на основе щелчка меню - PullRequest
0 голосов
/ 12 января 2011

Я изучаю Java и создаю один проект для тестирования основ.

У меня есть один пункт меню FILE, а затем пункт подменю, например

1)Front
2)Admin
3)Booking

У меня есть отдельный графический интерфейс, созданный в отдельных файлахно я хочу, чтобы они были видны в одной области, щелкнув по подменю

Я использую свинг, JmenuBar.Также другие guis используют Jframe

Ответы [ 4 ]

1 голос
/ 13 января 2011

У меня есть отдельные графические интерфейсы, сделанные в отдельных файлах, но я хочу, чтобы они были видны в одной области

В большинстве приложений должен быть только один JFrame, который действительно является вашим требованиемВы хотите, чтобы отдельный GUI был виден в той же области.

Поэтому ваш другой GUI не должен расширять JFrame, а вместо этого должен расширять JPanel.Затем вы можете просто использовать CardLayout в вашем реальном графическом интерфейсе для смены панелей в зависимости от того, какая панель выбрана из вашего меню.Все эти основные темы описаны в Swing tutorial .Я думаю, вы бы начали с раздела:

  1. Как использовать макет карты
  2. Как использовать меню
0 голосов
/ 12 января 2011

Другие люди уже говорили о ActionListeners и прочем, так что это половина проблемы. Другая половина - как на самом деле иметь дело с несколькими окнами. Я бы, вероятно, не использовал один JFrame для разных графических интерфейсов, учитывая, что дух JFrame предполагает, что у вас должен быть только один экземпляр для каждого приложения. Вместо этого я бы посмотрел на использование либо JDialog , либо JInternalFrame . Я не уверен, что вы подразумеваете под

... должно быть видно в одной области ...

, но JInternalFrame позволит вам реализовать что-то вроде интерфейса для нескольких документов , где все вспомогательные графические интерфейсы будут содержаться в рамке основного интерфейса. JDialog даст вам независимые окна, как JFrame.

0 голосов
/ 12 января 2011

Если под «они должны быть видны в одной области», вы имеете в виду модальный , тогда вы должны изменить все ваши JFrames на JDialogs и оставить только тот JFrame, который содержит ваше главное меню.

0 голосов
/ 12 января 2011

Для этого вам нужен ActionListener для каждого из пунктов меню.Затем попросите каждого слушателя передать экземпляр JFrame, который вы хотите, методу, который контролирует, где вы хотите расположить окно и показать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...