Взаимодействие между классами - Java

Узнай цену своей работы

Формулировка задачи:

В джава свинге у меня объявлено два фрейма(два окна). На одном из них есть боттон, при нажатии на эту кнопку, данный фрейм у меня закрывается, а второй открывается. Это у меня реализовано в одном классе. Подскажите как сделать два класса, что бы в одном классе были методы и действия для одного фрейма, а во втором для другого и при этом два фрейма между собой могли взаимодействовать. Вот пример того, как я сделал это в одном классе.
Листинг программы
  1. public class PTN2 {
  2. private JFrame frame;
  3. private JFrame frame2;
  4. public static void main(String[] args) {
  5. EventQueue.invokeLater(new Runnable() {
  6. public void run() {
  7. try {
  8. PTN2 window = new PTN2();
  9. window.frame.setVisible(false);
  10. window.frame2.setVisible(true);
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }
  14. }
  15. });
  16. }
  17.  
  18. public PTN2() {
  19. initialize();
  20. }
  21. private void initialize() {
  22. //---------------------Второе окно-------------------------//
  23. frame = new JFrame();
  24. frame.setBounds(450, 100, 295, 394);
  25. frame.setTitle("Пятнашки");
  26. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27. frame.getContentPane().setLayout(null);
  28. //---------------------Первое окно-------------------------// Это окно появится при запуске
  29. frame2 = new JFrame();
  30. frame2.setBounds(450, 100, 400, 379);
  31. frame2.setTitle("Вход");
  32. frame2.getContentPane().setBackground(Color.BLACK);
  33. frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  34. frame2.getContentPane().setLayout(null);
  35.  
  36. // NEW GAME // Вот эта кнопка открывает новый фрейм, закрывая данный
  37. JButton start2 = new JButton("START GAME");
  38. start2.setForeground(Color.BLUE);
  39. start2.addActionListener(new ActionListener(){
  40. public void actionPerformed(ActionEvent arg0){
  41. frame2.setVisible(false);
  42. frame.setVisible(true);
  43. }
  44. }
  45. );
  46. start2.setFont(new Font("Tahoma",Font.BOLD,20));
  47. start2.setBounds(40,152,300,60);
  48. frame2.getContentPane().add(start2);
  49. }

Решение задачи: «Взаимодействие между классами»

textual
Листинг программы
  1. class PTN {
  2.     private JFrame frame;
  3.     PTN(){
  4.         /*---------------------Второе окно-------------------------*/
  5.        
  6.         frame = new JFrame();
  7.         frame.setBounds(450, 100, 295, 394);
  8.          frame.setTitle("Пятнашки");
  9.                  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  10.         frame.getContentPane().setLayout(null);
  11.         frame.setVisible(true);
  12.     }
  13. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут