Этот вопрос уже имеет ответ здесь:
У меня есть jButton1 член парламента, не занимающий официального поста JFrame, и я хотел закрыть кадр, когда кнопка нажата.
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
});
Я хотел сделать super.close()
но не мог найти близко для супер. Есть ли некоторый способ относиться к JFrame
Мне кажется, у вас здесь две проблемы. Во-первых, JFrame не имеет метода close
, который был рассмотрен в других ответах.
Во-вторых, у вас возникли проблемы со ссылкой на JFrame. Внутри actionPerformed
, super
относится к ActionListener. Чтобы сослаться на экземпляр JFrame там, используйте вместо этого MyExtendedJFrame.super
(вы также должны иметь возможность использовать MyExtendedJFrame.this
, поскольку я не вижу причин, по которым вы хотите переопределить поведение dispose
или setVisible
).
Вам понадобится ссылка на конкретный фрейм, который вы хотите закрыть, но при условии, что у вас есть ссылка dispose ()
должен закрыть фрейм .
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
frameToClose.dispose();
}
});
Вы, кошка, используете метод setVisible ()
JFrame (и установите для видимости значение false
) или метод dispose ()
, который больше похож на закрыть операцию
.