单击按钮关闭JFrame

时间:2010-02-28 21:21:29

标签: java swing

我有JFrame的jButton1私有成员,我想在单击按钮时关闭框架。

jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
    }
});

我想做super.close()但是找不到超级优惠。有没有办法引用JFrame

5 个答案:

答案 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操作更相似。