import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
/*******************************************************************************
?*
?* 關閉前提醒
?*
?* Author: NeedJava
?*
?* Modofied: 2005.04.02
?*
?******************************************************************************/
class AlarmBeforeClosed extends JFrame
{
? public AlarmBeforeClosed( String title )
? {
??? //設置程序標題欄
??? this.setTitle( title );
??? //不給最大化
??? this.setResizable( false );
??? //設置程序界面大小
??? this.setSize( new Dimension( 500, 400 ) );
??? //將程序居中放置(方法1)
??? Dimension paneSize=this.getSize();
??? Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
??? this.setLocation( ( screenSize.width-paneSize.width )/2, ( screenSize.height-paneSize.height )/2 );
??? //將程序居中放置(方法2)
??? //this.setLocationRelativeTo( null );
??? //設置程序關閉的類型,防止關閉
??? this.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
??? //設置關閉程序
??? this.addWindowListener( new WindowAdapter()
??? {
????? public void windowClosing( WindowEvent e )
????? {
??????? closeApplication();
????? }
??? } );
? }
? /*****************************************************************************
?? *
?? * 關閉程序
?? *
?? ****************************************************************************/
? private void closeApplication()
? {
??? Toolkit.getDefaultToolkit().beep();
??? int answer=JOptionPane.showConfirmDialog( AlarmBeforeClosed.this,
????????????????????????????????????????????? "您真的要退出此系統?",
????????????????????????????????????????????? "退出程序",
????????????????????????????????????????????? JOptionPane.YES_NO_OPTION,
????????????????????????????????????????????? JOptionPane.QUESTION_MESSAGE,
????????????????????????????????????????????? null );
??? if( answer==JOptionPane.YES_OPTION )? //選擇“是”
????? {
??????? System.exit( 0 );
????? }
??? else if( answer==JOptionPane.NO_OPTION )? //選擇“否”
?????????? {
???????????? return;
?????????? }
? }
? /*****************************************************************************
?? *
?? * 入口主程序
?? *
?? ****************************************************************************/
? public static void main( String[] args )
? {
??? new AlarmBeforeClosed( "關閉前提醒" ).setVisible( true );
? }
}
posted on 2007-09-17 22:56
NeedJava 閱讀(1348)
評論(1) 編輯 收藏 所屬分類:
Java