Java程序判断Frame或Window何时关闭


在这篇文章中,我们将学习如何判断在Java中Frame或Window何时关闭。我们将在Java Swing中创建一个标题为“Demo”的简单窗口。它使用文本窗格在可滚动区域内显示格式化文本(斜体,橙色背景黑字)。程序还会监听窗口关闭事件,并在您关闭窗口时打印一条消息。这个基本的例子展示了如何构建带有文本样式和事件处理GUI

判断Frame或Window何时关闭的步骤

以下是判断Java中Frame或Window何时关闭的步骤:

  • java.awtjavax.swing和其他包导入必要的类来创建GUI和处理事件。
  • 使用标题为Demo的JFrame进行初始化,并设置其默认关闭操作。
  • 使用WindowAdapter实现一个WindowListener来监听窗口关闭事件,并在窗口关闭时打印消息。
  • 获取框架的内容窗格,并创建一个JTextPane来显示具有自定义属性的文本。
  • 我们将使用SimpleAttributeSet将文本设置为斜体,并设置特定的前景色和背景色。
  • 然后我们将JTextPane添加到JScrollPane中以实现滚动功能,并将其添加到框架中。
  • 设置框架的大小,添加窗口监听器,并使框架可见。

Java程序判断Frame或Window何时关闭

以下是判断Java中Frame或Window何时关闭的示例:

package my;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
public class SwingDemo {
   public static void main(String args[]) throws BadLocationException {
      JFrame frame = new JFrame("Demo");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      WindowListener listener = new WindowAdapter() {
         public void windowClosing(WindowEvent evt) {
            Frame frame = (Frame) evt.getSource();
            System.out.println("Closing = "+frame.getTitle());
         }
      };
      Container container = frame.getContentPane();
      JTextPane pane = new JTextPane();
      SimpleAttributeSet attributeSet = new SimpleAttributeSet();
      StyleConstants.setItalic(attributeSet, true);
      StyleConstants.setForeground(attributeSet, Color.black);
      StyleConstants.setBackground(attributeSet, Color.orange);
      pane.setCharacterAttributes(attributeSet, true);
      pane.setText("This is a demo text!");
      JScrollPane scrollPane = new JScrollPane(pane);
      container.add(scrollPane, BorderLayout.CENTER);
      frame.setSize(550, 300);
      frame.addWindowListener(listener); frame.setVisible(true);
   }
}

输出

输出如下。控制台将显示以下内容:

代码解释

这个Java程序使用Swing创建了一个简单的交互式GUI,您将看到一个标题为“Demo”的窗口。在窗口内部,它显示一些斜体样式的文本,黑色字体,橙色背景。我们为此使用了JTextPane,并将其包装在JScrollPane中,以便文本过长时可以滚动。由于使用了WindowListener,窗口会监听关闭事件,并在关闭时打印一条消息。

更新于:2024年8月30日

2K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告