Взаимодействие между классами - Java
Формулировка задачи:
В джава свинге у меня объявлено два фрейма(два окна). На одном из них есть боттон, при нажатии на эту кнопку, данный фрейм у меня закрывается, а второй открывается. Это у меня реализовано в одном классе. Подскажите как сделать два класса, что бы в одном классе были методы и действия для одного фрейма, а во втором для другого и при этом два фрейма между собой могли взаимодействовать.
Вот пример того, как я сделал это в одном классе.
Листинг программы
- public class PTN2 {
- private JFrame frame;
- private JFrame frame2;
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- PTN2 window = new PTN2();
- window.frame.setVisible(false);
- window.frame2.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- public PTN2() {
- initialize();
- }
- private void initialize() {
- //---------------------Второе окно-------------------------//
- frame = new JFrame();
- frame.setBounds(450, 100, 295, 394);
- frame.setTitle("Пятнашки");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.getContentPane().setLayout(null);
- //---------------------Первое окно-------------------------// Это окно появится при запуске
- frame2 = new JFrame();
- frame2.setBounds(450, 100, 400, 379);
- frame2.setTitle("Вход");
- frame2.getContentPane().setBackground(Color.BLACK);
- frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame2.getContentPane().setLayout(null);
- // NEW GAME // Вот эта кнопка открывает новый фрейм, закрывая данный
- JButton start2 = new JButton("START GAME");
- start2.setForeground(Color.BLUE);
- start2.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent arg0){
- frame2.setVisible(false);
- frame.setVisible(true);
- }
- }
- );
- start2.setFont(new Font("Tahoma",Font.BOLD,20));
- start2.setBounds(40,152,300,60);
- frame2.getContentPane().add(start2);
- }
Решение задачи: «Взаимодействие между классами»
textual
Листинг программы
- class PTN {
- private JFrame frame;
- PTN(){
- /*---------------------Второе окно-------------------------*/
- frame = new JFrame();
- frame.setBounds(450, 100, 295, 394);
- frame.setTitle("Пятнашки");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.getContentPane().setLayout(null);
- frame.setVisible(true);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д