Зависание фрейма при вызове другого класса - Java
Формулировка задачи:
В классе1 есть один фрейм, на нем есть кнопка.
Когда нажимаю на кнопку, должен запускаться сервер в классе2, закрываться фрейм в классе1 и запускаться фрейм в классе2.
Нажимаю на кнопку, фрейм в классе1 закрывается, но класс ни на что не реагирует (останавливается на строчке сервера), сервер запускается, а фрейм в классе2 не запускается.
package Mode; import Server.Server; import javax.swing.*; public class MainGUI{ public static void StartGUI(){ javax.swing.SwingUtilities.invokeLater(new Runnable() { @Override public void run() { createAndShowGUI(); } }); } private static void createAndShowGUI() { final JFrame MainFrame = new JFrame("Test"); MainFrame.setSize(400, 300); final JPanel panel1 = new JPanel(); MainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton запуститьСерверButton = new JButton("Запустить сервер"); panel1.add(запуститьСерверButton); MainFrame.setVisible(true); panel1.setVisible(true); MainFrame.getContentPane().add(panel1); запуститьСерверButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MainFrame.setVisible(false); new Server(); } }); } }
package Server; import javax.swing.*; public class Server { public Server(JFrame frame) { new Server(0); new ServerGUI().StartGUI(); } }
package Server; import javax.swing.*; public class ServerGUI { public static void StartGUI(){ javax.swing.SwingUtilities.invokeLater(new Runnable() { @Override public void run() { createAndShowGUI(); } }); } private static void createAndShowGUI() { final JFrame ServerFrame = new JFrame("Test"); ServerFrame.setSize(400, 400); final JPanel panel1 = new JPanel(); } }
Решение задачи: «Зависание фрейма при вызове другого класса»
textual
Листинг программы
запуститьСерверButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { MainFrame.setVisible(false); new Server(); } });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д