Как перемещаться между файлами, чтобы иметь возможность добавлять/удалять панели из фрейма? ⇐ JAVA
Как перемещаться между файлами, чтобы иметь возможность добавлять/удалять панели из фрейма?
Я пытаюсь создать текстовую игру, и поскольку мне предстоит написать длинный код, я решил разделить его на несколько файлов. (https://gist.github.com/Okkun9001/6d511 ... 36b714a215) Файл «App» будет содержать весь код, связанный с игрой, «MyFrame» для управления переключением между окнами и, возможно, другими элементами графического интерфейса в дальнейшем. Плюс «HomePanel» и «GamePanel» в отдельных файлах, где обе панели содержат дополнительные панели и многое другое в будущем.
Сейчас у меня есть кнопка на HomePanel, и я хочу, чтобы она перенаправляла меня на «GamePanel», но на самом деле MyFrame содержит метод, который действительно это делает. И поскольку моя кнопка находится в HomePanel, мой MouseListener также должен быть там, но из HomePanel я не могу ссылаться на метод в MyFrame.
Я также пытался создать ссылку на MyFrame в HomePanel, но уже создал ее экземпляр в приложении, доступ к которому можно получить только оттуда. Также пытался переместить MouseListener в MyFrame, что имело бы смысл разместить его там, но потом он сказал, что на самом деле в этом файле его никто не использует, и, честно говоря, я не до конца понимаю, почему это не сработало.< /п> Я искал дополнительную информацию об этом в Интернете, но не нашел конкретного примера и не уверен, что мне следует искать, чтобы лучше понять мою проблему.
Редактировать: я только что заметил, что у меня есть ошибка в загруженных файлах, в моем исходном App.java в строке 7 я на самом деле говорю «frame.buildHomePanel();». Не то чтобы это что-то меняло, я просто пытался что-то проверить.
Я пытаюсь создать текстовую игру, и поскольку мне предстоит написать длинный код, я решил разделить его на несколько файлов. (https://gist.github.com/Okkun9001/6d511 ... 36b714a215) Файл «App» будет содержать весь код, связанный с игрой, «MyFrame» для управления переключением между окнами и, возможно, другими элементами графического интерфейса в дальнейшем. Плюс «HomePanel» и «GamePanel» в отдельных файлах, где обе панели содержат дополнительные панели и многое другое в будущем.
Сейчас у меня есть кнопка на HomePanel, и я хочу, чтобы она перенаправляла меня на «GamePanel», но на самом деле MyFrame содержит метод, который действительно это делает. И поскольку моя кнопка находится в HomePanel, мой MouseListener также должен быть там, но из HomePanel я не могу ссылаться на метод в MyFrame.
Я также пытался создать ссылку на MyFrame в HomePanel, но уже создал ее экземпляр в приложении, доступ к которому можно получить только оттуда. Также пытался переместить MouseListener в MyFrame, что имело бы смысл разместить его там, но потом он сказал, что на самом деле в этом файле его никто не использует, и, честно говоря, я не до конца понимаю, почему это не сработало.< /п> Я искал дополнительную информацию об этом в Интернете, но не нашел конкретного примера и не уверен, что мне следует искать, чтобы лучше понять мою проблему.
Редактировать: я только что заметил, что у меня есть ошибка в загруженных файлах, в моем исходном App.java в строке 7 я на самом деле говорю «frame.buildHomePanel();». Не то чтобы это что-то меняло, я просто пытался что-то проверить.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение