java关闭当前窗口的指令怎么操作?Java怎么关闭窗体?

Java是一种高级语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,在实际工作中,java关闭当前窗口的指令怎么操作?下面来我们就来给大家讲解一下。

第一种:用你弹出的这个JFrame对象 frame.setVisible(false); 就好了。

第二种:调用 frame.dispose() 方法,该方法是释放窗体资源,和你设定的setDefaultCloseOperation行为有关系,比如你只是关闭窗口就可以设定。frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE),那么在你调用dispose时窗口就会隐藏,具体的你可以查看jdk api看看说明就知道了。

Java怎么关闭窗体?

1.使用JFrame的enableEvents和processWindowEvent

//Frame1.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame
{
    public Frame1()
    {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
    }
    protected void processWindowEvent(WindowEvent e)
    {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING)
        {
            System.exit(0);
        }
    }
}

2.直接实现WindowListener接口

//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame implements WindowListener
{
    public Frame1()
    {
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
        this.addWindowListener(this);
    }
    public void windowClosing(WindowEvent windowEvent)
    {
        System.exit(0);
    }
    public void windowOpened(WindowEvent windowEvent)
    {}
    public void windowClosed(WindowEvent windowEvent)
    {}
    public void windowIconified(WindowEvent windowEvent)
    {}
    public void windowDeiconified(WindowEvent windowEvent)
    {}
    public void windowActivated(WindowEvent windowEvent)
    {}
    public void windowDeactivated(WindowEvent windowEvent)
    {}
}

3.直接继承窗体适配器WindowAdapter

//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends WindowAdapter
{
    public Frame1()
    {
        Frame f = new Frame();
        f.setSize(new Dimension(400, 300));
        f.setTitle("Frame1");
        f.addWindowListener(this);
        f.setVisible(true);
    }
    public static void main(String[] s)
    {
        new Frame1();
    }
    public void windowClosing(WindowEvent windowEvent)
    {
        System.exit(0);
    }
}

4.间接继承窗体适配器WindowAdapter

//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame
{
    public Frame1()
    {
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
        this.addWindowListener(new winAdapter());
        this.setVisible(true);
    }
    public static void main(String[] s)
    {
        new Frame1();
    }
}
class winAdapter extends WindowAdapter
{
    public void windowClosing(WindowEvent windowEvent)
    {
        System.exit(0);
    }
}

5.间接实现WindowListener接口

//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame
{
    public Frame1()
    {
        this.setSize(new Dimension(400, 300));
        this.setTitle("Frame1");
        this.addWindowListener(new winEventHandle());
        this.setVisible(true);
    }
    public static void main(String[] s)
    {
        new Frame1();
    }
}
class winEventHandle implements WindowListener
{
    public void windowClosing(WindowEvent windowEvent)
    {
        System.exit(0);
    }
    public void windowOpened(WindowEvent windowEvent)
    {}
    public void windowClosed(WindowEvent windowEvent)
    {}
    public void windowIconified(WindowEvent windowEvent)
    {}
    public void windowDeiconified(WindowEvent windowEvent)
    {}
    public void windowActivated(WindowEvent windowEvent)
    {}
    public void windowDeactivated(WindowEvent windowEvent)
    {}
}

6.使用Inner Class

//Frame1.java
import java.awt.*;
import java.awt.event.*;
public class Frame1
{
    public Frame1()
    {
        Frame f = new Frame();
        f.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
        f.setSize(new Dimension(400, 300));
        f.setVisible(true);
    }
    public static void main(String[] s)
    {
        new Frame1();
    }
}

Jframe的关闭方法:

setDefaultCloseOperation(EXIT_ON_CLOSE);

frame的关闭方法如下:

this.addWindowListener(new java.awt.event.WindowAdapter()
{
    public void windowClosing(java.awt.event.WindowEvent e)
    {
        System.exit(0);
    }
});

这就是Java关闭窗体的六种方法,如果遇到相关问题的时候,大家可以选择其中一项进行关闭窗体就可以了!最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。

推荐阅读:

java线程面试题有哪些?实用面试题分享

什么类属于javabean?javabean种类分为几种?

java高级架构师进阶课程有哪些?java高级架构师进阶路线

推荐内容