java中,关于关闭窗口的一个问题.
我写的一个java程序中,在自己写的一个退出按键中,语句就可以实现功能,但在下面这节代码中,却无法实现了,也就是在弹出关闭询问窗口后,我在点击"否"和"取消",也一样要关...
我写的一个java程序中,在自己写的一个退出按键中,语句就可以实现功能,但在下面这节代码中,却无法实现了,也就是在弹出关闭询问窗口后,我在点击"否"和"取消",也一样要关闭窗口.没有实现点"否"和"取消 "就不关闭的功能.:请各位大虾帮帮忙.
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JOptionPane;
public class F{
public static void main(String args[]){
//调用TextEditorFrame类,并生成对象
TextEditorFrame f=new TextEditorFrame();
//调用addWindowListener类
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//处理程序结束事件
TextEditorFrame f=new TextEditorFrame();
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
//判断是否结束并执行相应操作
if(s==JOptionPane.YES_OPTION)
{
System.exit(0);
}
//--------------以上是出问题的代码.
}
});
/*设置显示界面*/
f.setTitle("***********");
f.setSize(800,600);
//获取屏幕信息,并将窗口位置设在屏幕最中间
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = f.getSize().width;
int h =f.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setLocation(x,y);
f.show();
}
} 展开
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JOptionPane;
public class F{
public static void main(String args[]){
//调用TextEditorFrame类,并生成对象
TextEditorFrame f=new TextEditorFrame();
//调用addWindowListener类
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//处理程序结束事件
TextEditorFrame f=new TextEditorFrame();
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
//判断是否结束并执行相应操作
if(s==JOptionPane.YES_OPTION)
{
System.exit(0);
}
//--------------以上是出问题的代码.
}
});
/*设置显示界面*/
f.setTitle("***********");
f.setSize(800,600);
//获取屏幕信息,并将窗口位置设在屏幕最中间
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = f.getSize().width;
int h =f.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setLocation(x,y);
f.show();
}
} 展开
3个回答
展开全部
import java.awt.Dimension;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class F{
public static void main(String args[]){
//调用TextEditorFrame类,并生成对象
Frame f=new Frame();
f.setVisible(true);
//调用addWindowListener类
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//处理程序结束事件
JFrame f=new JFrame();
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
//判断是否结束并执行相应操作
if(s==JOptionPane.YES_OPTION)
{
System.exit(0);
}
//--------------以上是出问题的代码.
}
});
/*设置显示界面*/
f.setTitle("***********");
f.setVisible(true);
f.setSize(800,600);
//获取屏幕信息,并将窗口位置设在屏幕最中间
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = f.getSize().width;
int h =f.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setLocation(x,y);
f.show();
}
}
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class F{
public static void main(String args[]){
//调用TextEditorFrame类,并生成对象
Frame f=new Frame();
f.setVisible(true);
//调用addWindowListener类
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//处理程序结束事件
JFrame f=new JFrame();
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
//判断是否结束并执行相应操作
if(s==JOptionPane.YES_OPTION)
{
System.exit(0);
}
//--------------以上是出问题的代码.
}
});
/*设置显示界面*/
f.setTitle("***********");
f.setVisible(true);
f.setSize(800,600);
//获取屏幕信息,并将窗口位置设在屏幕最中间
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = f.getSize().width;
int h =f.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setLocation(x,y);
f.show();
}
}
展开全部
因为不知道你TextEditorFrame类是怎么写的,是不是用了setDefaultCloseOperation(EXIT_ON_CLOSE);
本类的话,可以参考楼上的,但是同样要把上面的setDefaultCloseOperation(EXIT_ON_CLOSE); 去掉才行.
本类的话,可以参考楼上的,但是同样要把上面的setDefaultCloseOperation(EXIT_ON_CLOSE); 去掉才行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问setDefaultCloseOperation()方法是在哪里调用的啊??我编译时显示这个方法没有被定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询