我有JFrame的jButton1私有成员,我想在单击按钮时关闭框架。
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
}
});
我想做super.close()
但是找不到超级优惠。有没有办法引用JFrame
答案 0 :(得分:36)
您需要引用要关闭的特定帧,但假设您有引用dispose()
应关闭帧。
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
frameToClose.dispose();
}
});
答案 1 :(得分:12)
JButton b3 = new JButton("CLOSE");
b3.setBounds(50, 375, 250, 50);
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
答案 2 :(得分:9)
在我看来,你有两个问题。一个是JFrame没有close
方法,已在其他答案中解决过。
另一个是您在引用JFrame时遇到问题。在actionPerformed
内,super
指的是ActionListener。要在那里引用JFrame实例,请改用MyExtendedJFrame.super
(您也应该能够使用MyExtendedJFrame.this
,因为我认为您没有理由想要覆盖dispose
的行为或setVisible
)。
答案 3 :(得分:4)
您可以使用与关闭操作更相似的super.dispose()方法。
答案 4 :(得分:2)
您可以使用JFrame的setVisible ()
方法(并设置false
的可见性)或dispose ()
方法,这与close
操作更相似。