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