用按钮单击关闭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时遇到了麻烦。 在actionPerformedsuper指的是ActionListener。 要在那里引用JFrame实例,请使用MyExtendedJFrame.super (您还应该能够使用MyExtendedJFrame.this ,因为我没有理由为什么要覆盖disposesetVisible的行为)。

 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操作。