Я относительно новичок в Java, и я пытаюсь сделать какую-то викторину. Я создал 3 JFrames, все в одном пакете. На моем основном фрейме есть две кнопки (одна для английской версии, а другая для немецкой версии). Я хочу переключить JFrames после нажатия этих кнопок (чтобы я мог, нажав «English», видеть и взаимодействовать с моей английской рамкой викторины). Присмотреться к нему не помогло, потому что я на самом деле не испытывал этого. Возможно ли это сделать так? Если нет, как я могу это сделать?Переключение между несколькими JFrames
ответ
Стандартным подходом является использование Card Layout, что позволяет использовать тот же JFrame, когда вы заполняете его разными вещами в разных точках приложения. Поэтому вначале ваш JFrame отобразил экран загрузки, затем пользователь нажимает кнопку, и вы загружаете новый набор компонентов, не отбрасывая текущий JFrame, который у вас есть. В некоторых случаях вам также может потребоваться внести некоторые изменения в размер.
Трудно сказать, не видя никакого кода, но, как правило, то, что делается в том, что вы делаете что-то вроде так:
new Frame(args);
this.dispose();
Код выше предполагает, что конструктор Frame
заботится о запуске и решений компоненты видны. this.dispose();
располагает текущим JFrame
(при условии, что ваш класс расширяет JFrame
).
Создайте одно окно Jframe. После этого создайте JPanels со всеми такими компиляторами, как кнопки, текстовые поля и метки, которые вы хотите. Убедитесь, что панель имеет тот же размер, что и ваш Jframe. Работа с панелью примерно такая же, как у JFrame's, код мудрый.
Этот код будет сшить все вместе для вас:
panel.setSize(Jframe.getSize()) //That wont
panel.add(button); //Just remember you need to add more code to position the buttons correctly.
//If you using netbeans builder:
//You just have to use this one line in the constructor/intialiser method
frame.add(panel); //This will add the panel to the Jframe/Window
//No need to add extra code for positioning.
Если вы хотите, чтобы переключаться между панелями. В пресс-метод кнопки, используйте этот
frame.setContentPane(panel); //panel = panel you want to change too.
frame.repaint(); //Ensures that the frame swaps to the next panel and doesn't get stuck.
frame.revalidate(); //Ensures that the frame swaps to the next panel and doesn't get stuck.
При первом запуске приложения Java, вы должны установить панель контента или иначе это будет выглядеть как пустое окно.
frame.setContentPane(panel); //Starting Panel
frame.setVisible(true); //Make the frame visible
Извините, если объяснение плохое, у меня недостаточно времени, чтобы полностью объяснить это.
У вас есть две кнопки в рамке 1 справа? Итак, сначала дважды нажмите кнопку, на которой написано «Английский». Допустим, что имя переменной для этой кнопки - jButton1. Внутри этой кнопки введите это.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
EnglishFrame eng = new EnglishFrame();
eng.setVisible(true);
}
Затем дважды щелкните по другой кнопке, которая говорит «немецкий» (jButton2). Внутри этого типа это.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
GermanFrame german = new GermanFrame();
german.setVisible(true);
}
this.dispose() - Это заставит окно JFrame закрыть
Затем вы создаете объект из двух других форм. (В вашем случае форма для английского и немецкого языков)
.setVisible (true) - Это покажет вам форму.
- 1. Переключение между JFrames
- 2. Переключение JFrames
- 3. Переключение между несколькими запусками?
- 4. Переключение между несколькими войнами
- 5. переключение между несколькими изображениями
- 6. Как сохранить цвета фона между несколькими JFrames
- 7. Переключение JFrames без изменения ссылки
- 8. Работа с несколькими JFrames
- 9. Проблемы с несколькими JFrames
- 10. Переключение между несколькими функциями MATLAB
- 11. Переключение между несколькими версиями ява
- 12. Переключение между несколькими полями uitext
- 13. Переключение между JFrames или JPanels для новых окон?
- 14. Связь между двумя JFrames
- 15. Общаться между JFrames
- 16. Как переключаться между JFrames
- 17. Переключение между несколькими видами с помощью ImageButtons
- 18. DotNetNuke Переключение между несколькими модулями редактирования
- 19. Переключение между несколькими формами окон в C#
- 20. Переключение Jquery между несколькими изображениями по щелчку
- 21. Переключение между несколькими наборами переназначений в autohotkey
- 22. Авто Переключение между несколькими формами с таймером
- 23. Переключение между несколькими формами ui в Qt
- 24. Переключение управления между несколькими дочерними Всплывающие
- 25. Переключение между несколькими классами с помощью jQuery
- 26. Android - Переключение между несколькими представлениями в ViewFlipper
- 27. Переключение между несколькими видами при уважении ориентации
- 28. Переключение между несколькими материалами при нажатии кнопки
- 29. Переключение между несколькими JPanels в CardLayout
- 30. Переключение между несколькими дорожками src изображения
@Vivi Huber - проверьте, работает ли это для вас ... – ShanD