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+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.