Подтвердить что ты не робот

Закрытие JFrame с нажатием кнопки

У меня есть jButton1 частный член JFrame, и я хотел закрыть кадр при нажатии кнопки.

jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
    }
});

Я хотел сделать super.close(), но не смог найти близко для супер. Есть ли способ ссылаться на JFrame

4b9b3361

Ответ 1

Вам понадобится ссылка на конкретный кадр, который вы хотите закрыть, но при условии, что ссылка dispose() должна закрыть кадр.

jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
       frameToClose.dispose();
    }
});

Ответ 2

JButton b3 = new JButton("CLOSE");

b3.setBounds(50, 375, 250, 50);

b3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
        System.exit(0);
    }
});

Ответ 3

Мне кажется, что у вас есть две проблемы. Во-первых, JFrame не имеет метода close, который был рассмотрен в других ответах.

Другим является то, что у вас возникли проблемы с ссылкой на ваш JFrame. В пределах actionPerformed, super относится к ActionListener. Чтобы ссылаться на экземпляр JFrame, вместо этого используйте MyExtendedJFrame.super (вы также можете использовать MyExtendedJFrame.this, поскольку я не вижу причин, по которым вы бы хотели переопределить поведение dispose или setVisible).

Ответ 4

Вы можете использовать метод super.dispose(), который больше похож на операцию закрытия.

Ответ 5

Вы используете метод setVisible () метода JFrame (и установите видимость на false) или dispose (), который больше похож на операцию close.