Как переключаться между экранами JFrame в моем коде? Не могу понять это - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь создать систему RedPraire, которую мы используем на моем складе для обучения, и я застрял на 3 дня, переходя от экрана создания учетной записи к экрану ошибок, если вы вводите менее 3 символов.Я что-то пропустил?

попытался вызвать фрейм, чтобы он не был виден, а другие - видимым, также попытался просто сделать его новым. JLabel как-то не сработает в actionPerformer ...

    frameCreate.add(c1);
frameCreate.add(c2);
frameCreate.add(c4);
frameCreate.add(ca1);
frameCreate.add(pc1);
frameCreate.add(c5);
frameCreate.add(c99);
frameCreate.setVisible(true);
frameCreate.setSize(600, 450);
frameCreate.setResizable(false);
frameCreate.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameCreate.setLocationRelativeTo(null);
frameCreate.getContentPane().setBackground(Color.black);

// ERROR USERNAME FRAME

c6 = new JLabel("Username too short. Press Enter");
c6.setBounds(250, 200, 100, 100);
frErrUs.add(c6);
frErrUs.setVisible(false);
frErrUs.setSize(600, 450);
frErrUs.setResizable(false);
frErrUs.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frErrUs.setLocationRelativeTo(null);
frErrUs.getContentPane().setBackground(Color.black);

}
public void actionPerformed(ActionEvent e) {
    String getT = e.getActionCommand();
    if(getT.length() < 3) {
        frameCreate.setVisible(false);
        frErrUs.setVisible(true);
    }

Я ожидал, что он изменит между кадрами, показывая только кадр ошибки, но не могу понять это

1 Ответ

0 голосов
/ 20 июня 2019

Если кадры не появляются / не исчезают, как вы ожидаете, это говорит о том, что ваш actionPerformed метод не вызывается.Убедитесь, что вызван правильный метод прослушивателя.

Но вместо создания второго кадра для отображения сообщения об ошибке, возможно, вам следует использовать диалоговое окно.Вот простой способ сделать это:

JOptionPane.showMessageDialog(frameCreate, "Username too short", "Error", JOptionPane.ERROR_MESSAGE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...