Как переключатся между окнами JFrame?

204
03 мая 2018, 10:16

С Swing начал работать недавно и вот возникла такая проблема.

В NetBeans переходы между окнами работают отлично, но вот когда я запускаю двойным кликом jar файл, то отображается только первое окно, а второе не открывается.

В диспетчере задач при отображение первого окна Java(TM) Platform SE binary показывает, что это окно включено, но вот когда я запускаю второе окно, то Java(TM) Platform SE binary не показывает второго окна.

Вот код этих окон.

WarOfFiveKingdom.java

public class WarOfFiveKingdom {
    public static void main(String[] args) {
        FirstPage firstPage = new FirstPage();
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                firstPage.setVisible(true);
            }
        });
    }
}

FirstPage.java

public class FirstPage extends JFrame {
    public static JTextField textField;
    FirstPage() {
        super("Кількість команд");
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent event) {
                if (JOptionPane.showConfirmDialog(null, "Ви впевнені, що хочете вийти?", 
                    "Вихід" ,JOptionPane.OK_CANCEL_OPTION) == JOptionPane.YES_OPTION) 
                    System.exit(0);
            }
        });
        JPanel panel = new JPanel();
        JLabel label = new JLabel("Кількість команд:");
        textField = new JTextField(5);
        JButton button = new JButton("Вибрати");
        button.addMouseListener(new Mouse());
        panel.add(label);
        panel.add(textField);
        panel.add(button);
        setContentPane(panel);
        pack();
        setExtendedState(MAXIMIZED_BOTH);
    }
    class Mouse implements MouseListener {
        @Override
        public void mouseClicked(MouseEvent event) {
            if (textField.getText().equals("1")) {
                setVisible(false);
                new SecondPage1().setVisible(true);
            } else if (textField.getText().equals("2")) {
                setVisible(false);
                new SecondPage2().setVisible(true);
            } else if (textField.getText().equals("3")) {
                setVisible(false);
                new SecondPage3().setVisible(true);
            } else if (textField.getText().equals("4")) {
                setVisible(false);
                new SecondPage4().setVisible(true);
            } else if (textField.getText().equals("5")) {
                setVisible(false);
                new SecondPage5().setVisible(true);
            } else {
                JOptionPane.showMessageDialog(null, "Невірне число команд");
            }
        }
        @Override
        public void mouseEntered(MouseEvent event) {}
        @Override
        public void mouseExited(MouseEvent event) {}
        @Override
        public void mousePressed(MouseEvent event) {}
        @Override
        public void mouseReleased(MouseEvent event) {}
    }
}
READ ALSO
Jpa репозиторий и Sax

Jpa репозиторий и Sax

Решил парсить XML файлы с помощью SAX и заливать в бд, но столкнулся с небольшой проблемой: Есть классы: -public class MySaxHandler extends DefaultHandler

218
Snackbar и проблемы с его реализацией

Snackbar и проблемы с его реализацией

Я добавил эту библиотеку comandroid

263
View обьекты android

View обьекты android

Когда программно создаешь View, например ImageView, то когда вписываешь LayoutParams нужно ввести ширину и высотуНо в комментариях написано, что вводится...

267
Слайдер Изоброжений Андроид

Слайдер Изоброжений Андроид

Как сделать Слайдер изображенийТипа слайдера в Плеймаркете (Где скриншоты и картинки приложения)

242