你看看這個program就明了 import java.awt.*; import java.awt.event.*; public class Test extends Frame { public Test() { setSize(300,300); addWindowListener(new java.awt.event.WindowAdapter() { // Main part whien you click the "X" call this function public void windowClosing(java.awt.event.WindowEvent evt) { dispose() setVisible(false); // close window } } public static void main(String[] args) { Test t = new Test(); t.show(); } }
import java.awt.*;
import java.awt.event.*;
public class Test extends Frame
{
public Test()
{
setSize(300,300);
addWindowListener(new java.awt.event.WindowAdapter() {
// Main part whien you click the "X" call this function
public void windowClosing(java.awt.event.WindowEvent evt)
{
dispose()
setVisible(false); // close window
}
}
public static void main(String[] args)
{
Test t = new Test();
t.show();
}
}
如果要真正关闭就得设置SetDefaultClosingOption()
我现在只想在按钮里触发X事件,不要和我说用dispose,因为X事件可能定义在parent对象里,有很多附加的代码要一起执行的
我现在只想在按钮里触发X事件,不要和我说用dispose,因为X事件可能定义在parent对象里,有很多附加的代码要一起执行的
我现在只想在按钮里触发X事件,不要和我说用dispose,因为X事件可能定义在parent对象里,有很多附加的代码要一起执行的
class mywindow extends Frame implements ActionListener
{
mywindow(){
super("test");
addWindowListener(new closewin());
/*或:addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);System.exit(0);}});*/
}
}
class closewin extends WindowAdapter
{ System.exit(0);}
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
this.setDefaultClosingOption("//默认是隐藏,可以改为关闭,或者其他,查一下JDK文档吧");
}protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
if(JOptionPane.showConfirmDialog(this,"您确定要退出系统吗?","将要退出系统",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.OK_OPTION)
{
this = null;
System.gc();
//System.exit(0);
}
else
return;
// this.restartSys();
}
}
void exitMenuItem_actionPerformed(ActionEvent e) {
if(JOptionPane.showConfirmDialog(this,"您确定要退出系统吗?","将要退出系统",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.OK_OPTION)
{
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this = null;
System.gc();
//System.exit(0);
}
else
return;
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class Zx1 extends JFrame
{
private Container c;
public Zx1() {
super("dfasfdsafdsafd");
c = getContentPane();
c.setLayout(new FlowLayout());
// c.addKeyListener(new B());
setSize(500,200);
setVisible(true);
}
public static void main(String args[])
{
Zx1 x = new Zx1();
x.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
}
}
你一關了就執行
f=null //f is the frame name
咁佢就會自動放返d空間
當你關閉了後執行這個就ok
f=null// f is the frame name
加埋我先前比你的program就ok