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