Закрытие JFrame с нажатием кнопки
У меня есть jButton1 частный член JFrame, и я хотел закрыть кадр при нажатии кнопки.
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
});
Я хотел сделать super.close()
, но не смог найти близко для супер. Есть ли способ ссылаться на JFrame
Ответы
Ответ 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
.