HIDE_ON_CLOSE和DISPOSE_ON_CLOSE的区别 我觉得对于一个模式对话框来说,应该是没有区别的。因为它的关闭不会导致vm的终结。各位爷说呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意。而且DISPOSE_ON_CLOSE的一个结果就是:如果它是“最后一个显示的窗口”,它的DISPOSE会导致vm的终结。而模式对话框肯定不是“最后一个显示的窗口”,所以两者仅仅有是否释放内存的区别,对其它功能没有任何影响。对否? 想问一下,在按下frame(只有一个frame)的关闭键后我想弹出一个确认用的JOptionPane如果选择否,则不退出应该怎么做(不关闭该frame),我用过继承windowAdapter 中windowClosing后,加入joptionpane,但收到cancle和no的消息后,frame仍旧关闭,但是系统中仍存在一个多出来的javaw.exe进程.不解,请教。 你可以写一个frame extends JFrame implements WindowListener 重写windowClosing方法public void windowClosing(java.awt.event.WindowEvent windowevent) { int result = JOptionPane.showConfirmDialog( frame,"确定退出系统?","提示",JOptionPane.YES_NO_OPTION); if(result==JOptionPane.YES_OPTION){ if (windowevent.getWindow() == this) { System.exit(0); } }else{ return; }} import javax.swing.*;import java.awt.*;import java.awt.event.WindowEvent;import java.awt.event.WindowListener; public class comFrame extends JFrame implements WindowListener{ comFrame() { Toolkit kit=Toolkit.getDefaultToolkit(); Dimension d=kit.getScreenSize(); this.setSize((int)d.getWidth()/2,(int)d.getHeight()/2); this.setLocation((int)d.getWidth()/4,(int)d.getHeight()/4); //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addWindowListener(this); this.setVisible(true); } public void windowOpened(WindowEvent e) {} public void windowClosing(WindowEvent e) { int option= JOptionPane.showConfirmDialog( this,"确定退出系统?","提示",JOptionPane.YES_NO_CANCEL_OPTION); if(option==JOptionPane.YES_OPTION) if(e.getWindow() == this) { System.exit(0); } else { return; } } public void windowClosed(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public static void main(String[] args) { comFrame aFrame=new comFrame(); } }在按下frame(只有一个frame)的关闭键后我想弹出一个确认用的JOptionPane如果选择否,则不退出应该怎么做(不关闭该frame)。但以上代码在SDK1.5中测试,收到cancle和no的消息后,frame仍旧关闭,但是系统中仍存在一个多出来的javaw.exe进程。请教 exe4j 可以打包class和exe文件所结合成的jar 吗 高分,简单题,呵呵。请给出理由。 高手进来帮我看下,关于timer的问题 一个编程问题,欢迎大家提供最优方案 概念问题,思路不清楚 :( (来者有分!不够再加!) 类型之间的转换都是哪些函数? Graphics2D 旋转 问题!!!! 关于与数据库连接的问题 对中文字串做base64的编码和解码问题?? Jbuilder7的Bug !!!!!! 求教Java创建外部进程?(初学) 怎么样将小写字母转化为大写
而且DISPOSE_ON_CLOSE的一个结果就是:如果它是“最后一个显示的窗口”,它的DISPOSE会导致vm的终结。而模式对话框肯定不是“最后一个显示的窗口”,所以两者仅仅有是否释放内存的区别,对其它功能没有任何影响。
对否?
重写windowClosing方法public void windowClosing(java.awt.event.WindowEvent windowevent) {
int result = JOptionPane.showConfirmDialog(
frame,"确定退出系统?","提示",JOptionPane.YES_NO_OPTION);
if(result==JOptionPane.YES_OPTION){
if (windowevent.getWindow() == this) {
System.exit(0);
}
}else{
return;
}
}
import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class comFrame extends JFrame implements WindowListener
{
comFrame()
{
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension d=kit.getScreenSize();
this.setSize((int)d.getWidth()/2,(int)d.getHeight()/2);
this.setLocation((int)d.getWidth()/4,(int)d.getHeight()/4);
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addWindowListener(this);
this.setVisible(true);
}
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e)
{
int option= JOptionPane.showConfirmDialog(
this,"确定退出系统?","提示",JOptionPane.YES_NO_CANCEL_OPTION);
if(option==JOptionPane.YES_OPTION)
if(e.getWindow() == this)
{
System.exit(0);
}
else
{
return;
}
}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {} public static void main(String[] args)
{
comFrame aFrame=new comFrame();
}
}在按下frame(只有一个frame)的关闭键后我想弹出一个确认用的JOptionPane如果选择否,则不退出应该怎么做(不关闭该frame)。但以上代码在SDK1.5中测试,收到cancle和no的消息后,frame仍旧关闭,但是系统中仍存在一个多出来的javaw.exe进程。请教