Взаимодействие между классами - 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); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д