close

參考答案:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JDD01
{
    public static void main(String args[])
    {
        new MyApp();
    }
}

class MyApp
{
        JFrame win;
        boolean firstTime=true;  //第一次按下關閉時,會拿來做判斷的Boolean變數


        MyApp()
        {
            win = new JFrame("Hello Swing!");  //建立視窗物件並增加標題
            win.setSize(350, 125);  //設定視窗大小
            win.setLocationRelativeTo(null);  //將視窗固定在螢幕中央
            
            win.getContentPane().setBackground(Color.GREEN);  //設定視窗背景色為:綠色
            win.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);  //當視窗關閉時動作:甚麼都不做
            
            win.addWindowListener(new WindowAdapter(){  //增加視窗監聽的事件
                public void windowClosing(WindowEvent e)
                {
                    if(firstTime)  //如果firstTime是true表示這是第一次按下關閉
                    {
                        MyApp.this.win.setTitle("再按一次關閉視窗以結束程式");  //更改標題顯示
                        firstTime=false;  //將firstTime改為False,這樣下次再按關閉的話,就會跳過這塊程式碼直接關閉
                    }else
                        System.exit(0);  //firstTime如果是False,就是直接執行這行
                }
            });
            
            win.setVisible(true);  //所有判斷設定完成,顯示視窗
        }
}

執行結果:

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Dino 的頭像
    Dino

    Dino`s Note

    Dino 發表在 痞客邦 留言(0) 人氣()