21xrx.com
2024-11-25 16:44:55 Monday
登录
文章检索 我的文章 写文章
关键词:Java、JFrame窗口、退出
2023-06-11 09:16:19 深夜i     --     --

我最近在学习Java编程,今天我想分享一下如何编写一个JFrame窗口。首先,JFrame是Java中最基本的窗口类型,可以创建一个带有标题、最小化和关闭按钮的窗口。通过编写JFrame窗口,可以实现复杂的图形用户界面(GUI)应用程序。下面是一个简单的例子。

首先,我们需要准备好Java开发环境(JDK)。然后,在编写Java代码之前,我们需要导入javax.swing包,以便使用JFrame类。

import javax.swing.*;

public class MyWindow extends JFrame {

  public MyWindow() {

    setTitle("我的第一个JFrame窗口");

    setSize(300, 200);

    setLocationRelativeTo(null);

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setVisible(true);

  }

  public static void main(String[] args) {

    new MyWindow();

  }

}

在这个例子中,我们首先继承了JFrame类,然后创建了一个构造函数MyWindow(),设置了标题、大小、位置和关闭操作。setVisible(true)方法用于将窗口设置为可见,并在main()方法中创建了一个MyWindow对象。

现在,我们可以运行上面的代码,并看到一个简单的JFrame窗口。

但是当我们单击窗口的关闭按钮时,窗口并没有真正关闭。这是因为我们还没有进行退出处理。为了处理窗口关闭事件,我们可以使用WindowAdapter类,这个类实现了WindowListener接口中的所有方法,但是我们只需要覆盖其中一个方法windowClosing()。

import javax.swing.*;

import java.awt.event.*;

public class MyWindow extends JFrame {

  public MyWindow() {

    setTitle("我的第一个JFrame窗口");

    setSize(300, 200);

    setLocationRelativeTo(null);

    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

    addWindowListener(new WindowAdapter() {

      public void windowClosing(WindowEvent e) {

        int choice = JOptionPane.showConfirmDialog(

          null, "您确定要退出吗?", "退出确认",

          JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);

        if (choice == JOptionPane.YES_OPTION){

          dispose(); //释放窗口资源

          System.exit(0); //退出程序

        }

      }

    });

    setVisible(true);

  }

  public static void main(String[] args) {

    new MyWindow();

  }

}

在这个例子中,我们首先设置了setDefaultCloseOperation(DO_NOTHING_ON_CLOSE),以便自己处理窗口关闭事件。然后,我们添加了一个WindowListener对象,并覆盖了windowClosing()方法。在这个方法中,我们显示一个退出确认对话框,如果用户选择“是”,则释放窗口资源并退出程序。

通过上面的示例,我们可以看到,在Java中编写一个JFrame窗口并不是很难。同时,还可以使用Java提供的窗口事件处理机制来实现更复杂的功能,例如响应窗口最小化或最大化等操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复