Как отключить JFrame, пока открыт другой - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть JFrame, в котором есть несколько JLabels, и когда я щелкаю любой JLabel, он открывает другой JFrame, но я хочу, чтобы другой был отключен. Сначала я сделал:

JFrame frame2 = new JFrame();
frame2.setVisible(true);
this.setEnabled(false);

Затем я хочу setEnabled(true) 1-й кадр, когда я закрываю 2-й кадр. Я дал 2-му кадру атрибут JFrame и параметр JFrame в своем конструкторе, а в WindowListener я использую метод windowClosing(), например:

public class My2ndJFrame extends JFrame implements ActionListener, WindowListener {

    My1stJFrame frame;

    public My2ndJFrame(My1stJFrame frame) {

        this.frame = frame;
        //moreCodeWeDontNeedNow

    }

@Override
    public void windowClosing(WindowEvent e) {

        frame.setEnabled(true);

    }

Это работает, но я не знаю, Это хорошая практика программирования, поэтому я хотел бы знать, есть ли лучший способ, и если это не хорошо, почему. Спасибо.

...