A. java中如何關閉當前窗口
使用dispose(),只是該窗體在內存中所佔有的資源得到了釋放,而整個程序並沒有因此而退專出,如果屬整個程序要退出,在以java.awt中的frame為控制項時,需手動添加:System.exit();
而在以javax.Swing中的jFrame為控制項時,一般不需要再寫相應的事件,默認點擊窗體上的小叉時,是隱藏,當然你可更改其參數。
B. java swing:關閉當前Frame
setVisible(false); //隱藏當前窗口
dispose();//銷毀當前窗口
一般用隱藏
C. java關閉當前窗口代碼
方法一:
類 JFrame
javax.swing.JFrame
JFrame中的方法void setDefaultCloseOperation(int)可以設置
以下為改方法的用法:
setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)設置用戶在此窗體上發起
"close" 時默認執行的操作。必須指定以下選項之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定義):不執行任何操作;要求程序在已注冊的
WindowListener 對象的 windowClosing 方法中處理該操作。
HIDE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊的 WindowListener
對象後自動隱藏該窗體。
DISPOSE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊 WindowListener
的對象後自動隱藏並釋放該窗體。
EXIT_ON_CLOSE(在 JFrame 中定義):使用 System exit
方法退出應用程序。僅在應用程序中使用。
默認情況下,該值被設置為 HIDE_ON_CLOSE。更改此屬性的值將導致激發屬性更改事件,其屬性名稱為
"defaultCloseOperation"。
註:當 Java 虛擬機 (VM) 中最後一個可顯示窗口被釋放後,虛擬機可能會終止
要實現你說的,應該採用
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
方法二:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Test extends JFrame {
public Test(){
this.setTitle("title");
this.setSize(300,200);
this.setLocation(100,100);
//設置關閉時什麼也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//監聽關閉按鈕的點擊操作
this.addWindowListener(new WindowAdapter(){
//new 一個WindowAdapter 類 重寫windowClosing方法
//WindowAdapter是個適配器類 具體看jdk的幫助文檔
public void windowClosing(WindowEvent e) {
//這里寫對話框
if(JOptionPane.showConfirmDialog(null,
"退出","提
示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){
System.exit(0);
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
D. java如何關閉JFrame
package applet;
import java.awt.*;
import java.awt.event.*;
public class App20_1 extends Frame implements ActionListener
{
public static void main(String args[])
{
App20_1 frm=new App20_1();
Button btn=new Button("Draw");
BorderLayout br=new BorderLayout();
frm.setTitle("drawing example");
frm.setLayout(br);
frm.setSize(200,150);frm.add(btn,br.SOUTH);
btn.addActionListener(frm);
frm.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Graphics g=getGraphics();
g.drawRect(100,50,70,55);
}
}
不太清楚的情況下,不要輕易嘗試static修飾類型,點擊窗口關閉按鈕不能關閉時你沒有沒寫關閉的響應代碼,添加一個frm.addwindowlistener然後重寫裡面的關閉代碼就可以了
E. 如何在java程序中,當點擊一個按鈕後,關閉當前窗口,開啟一個新的窗口。
JButtonbtn=newJButton(newAbstractAction("關閉並打開"){@(ActionEvente){oldFrame.dispose();//關閉並銷毀,無需銷毀可採用oldFrame.setVisible(false);newFrame.setVisible(true);//打開新窗口}});