Java: избавиться от формы Gui - PullRequest
0 голосов
/ 26 февраля 2019

Я делаю графический интерфейс с помощью IntelliJ, и я выбрал опцию New -> Gui Form.Я сделал это как экран входа в систему, но не могу настроить окно при успешном входе в систему.Я попытался расширить класс с помощью extends JFrame, а затем вызвать dispose(), но, похоже, он не работает.Что я делаю не так?

Заранее спасибо.

ОБНОВЛЕНИЕ с кодом:

public LoginFrame() {
    loginButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {

            char[] pass = password.getPassword();
            StringBuilder passwordBuilder = new StringBuilder();

            for (char p : pass)
            {
                passwordBuilder.append(p);
            }

            String password = passwordBuilder.toString();

            //Login.
            if(DatabaseHandler.login(username.getText(), password))
            {
                dispose(); //THIS WINDOW.
            }

            else
            {
                JOptionPane.showMessageDialog( null, "Wrong username or password!", "Login failed!", JOptionPane.ERROR_MESSAGE);
            }


        }
    });
}

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

если у вас есть класс, расширяющий JFrame, вы просто используете имя класса, чтобы избавиться от JFrame, как указано ниже

windowClassName.super.dispose();
0 голосов
/ 26 февраля 2019

Вы можете попробовать следующее:

        if(DatabaseHandler.login(username.getText(), password))
        {
            Component button = (Component) e.getSource();
            SwingUtilities.getWindowAncestor(button).dispose();
        }

Если это не помогает, укажите MCVE , чтобы мы могли понять, что не так в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...