请教JOptionPane,JFrame的问题 模拟记事本关闭功能:建立一个记事本样的窗体,然后我在文本域中输入字符,且不保存。当我点击窗口右上角的关闭按钮时,会弹出一个对话框,提示我是否保存,对话框中有三个按钮:是,否和取消。当我点击取消按钮时,对话框消失,但窗体依然存在(依然消失在屏幕上),请问高手,这个功能怎么实现?在此万分感谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在窗口事件里面实现 this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) { int t = javax.swing.JOptionPane.showConfirmDialog(null,"","",JOPtionPane.YES_NO_CANCEL_OPTION); if(t == JOPtionPane.YES_OPTION){ System.exit(0); }else if(t == JOPtionPane.NO_OPTION){ //写你要的效果 }else if(t == JOPtionPane.CANCLE_OPTION) }}); 我已经试过了,代码没有起到我要的效果,当在ConfirmDialog窗体中点击Cancel按钮,JFrame就消失了,但程序没有结束。 那你在else if(t == JOPtionPane.CANCLE_OPTION)语句块里面加个return呢? import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JOptionPane;public class FrameTest { public static void main(String[] args) { JFrame frame = new JFrame("test"); frame.setSize(500, 400); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent arg0) { int k = JOptionPane.showConfirmDialog((JFrame) arg0.getSource(), "你确定退出程序嘛?", "Exit Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); System.out.println("k === "+k); if (k == 0) { System.out.println("exit program"); System.exit(0); }else { return ; } } }); }} 我有个笨办法,把当前的frame序列化了保存起来,frame关闭后,需要时再重建此对象. 哪位讲下 for each 循环 如何返回到上一级啊? 如何判断request为空 在我们的机器上为什么不可以调用Date类的getDay()方法呢? socket读取数据的问题? 帮忙看一下 我哪里错了?请高手指点,谢谢! java.nio的一个问题 EJB初学者问题 我的JDK里怎么没有jar? 请问如何在Applet中关闭其所在的页面? MyEclipse 无法打开xml文件 java虚拟机将方法体中被解释器转换后的一条条指令存放在什么地方啊
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
int t = javax.swing.JOptionPane.showConfirmDialog(null,"","",JOPtionPane.YES_NO_CANCEL_OPTION);
if(t == JOPtionPane.YES_OPTION){
System.exit(0);
}else if(t == JOPtionPane.NO_OPTION){
//写你要的效果
}else if(t == JOPtionPane.CANCLE_OPTION)
}
});
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.JFrame;
import javax.swing.JOptionPane;public class FrameTest { public static void main(String[] args) {
JFrame frame = new JFrame("test");
frame.setSize(500, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0) {
int k = JOptionPane.showConfirmDialog((JFrame) arg0.getSource(), "你确定退出程序嘛?",
"Exit Confirm", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
System.out.println("k === "+k);
if (k == 0) {
System.out.println("exit program");
System.exit(0);
}else {
return ;
}
}
});
}
}