java的Frame窗体如何设置鼠标点击关闭图标时关闭窗体
6个回答
展开全部
每个AWT窗体的右上角都有三个图标,分别控制窗体的最小化、最大化和关闭。最小化和最大化图标的功能是内置的,无需编程实现。而当用户单击关闭图标时,AWT窗体无响应。用户如果要关闭AWT窗体,只能通过任务管理器结束java进程,这显然太麻烦了。因此,必须编程实现关闭图标的功能,而这需要通过捕获窗体事件来实现。
窗体事件是指示窗体状态改变的低级别事件。当打开、关闭、激活、停用、图标化或取消图标化窗体对象时,或者焦点转移到窗体内或移出窗体时,由窗体对象生成此事件。该事件被传递给每一个使用窗体的 addWindowListener 方法注册以接收窗体事件的 WindowListener对象。也就是说,当用户单击窗体的关闭图标时,将产生窗体事件(WindowEvent)。该事件由窗体监听器接口(WindowListener)负责捕获。
捕获窗体事件的步骤是:
(1) 让类实现窗体监听器接口,这将使得该类变成窗体事件监听器;
(2) 向类注册窗体事件监听器;
(3) 实现窗体事件监听器的所有方法。
源代码Calc.java可修改如下:
package calc;
import java.awt.*;
import java.awt.event.*;
public class Calc extends Frame implements WindowListener{
public Calc(){
super(“计算器”);
setSize(200,200);
addWindowListener(this);
}
// 用户单击窗体的关闭图标时调用本方法。
public void windowClosing(WindowEvent e) {
System.exit(0); //终止当前正在运行的 Java 虚拟机,退出系统。
}
public void windowClosed(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public static void main(String args[]){
new Calc().setVisible(true);
}
}
运行结果:单击窗体的关闭图标,窗体关闭。这说明窗体已具备响应事件的能力。
窗体事件是指示窗体状态改变的低级别事件。当打开、关闭、激活、停用、图标化或取消图标化窗体对象时,或者焦点转移到窗体内或移出窗体时,由窗体对象生成此事件。该事件被传递给每一个使用窗体的 addWindowListener 方法注册以接收窗体事件的 WindowListener对象。也就是说,当用户单击窗体的关闭图标时,将产生窗体事件(WindowEvent)。该事件由窗体监听器接口(WindowListener)负责捕获。
捕获窗体事件的步骤是:
(1) 让类实现窗体监听器接口,这将使得该类变成窗体事件监听器;
(2) 向类注册窗体事件监听器;
(3) 实现窗体事件监听器的所有方法。
源代码Calc.java可修改如下:
package calc;
import java.awt.*;
import java.awt.event.*;
public class Calc extends Frame implements WindowListener{
public Calc(){
super(“计算器”);
setSize(200,200);
addWindowListener(this);
}
// 用户单击窗体的关闭图标时调用本方法。
public void windowClosing(WindowEvent e) {
System.exit(0); //终止当前正在运行的 Java 虚拟机,退出系统。
}
public void windowClosed(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public static void main(String args[]){
new Calc().setVisible(true);
}
}
运行结果:单击窗体的关闭图标,窗体关闭。这说明窗体已具备响应事件的能力。
展开全部
Java中Frame窗体的关闭按钮默认是不触发事件的,Java在设置之初将绑定事件的动作交由用户来实现,一个用户要想达到点击关闭按钮关闭窗体,则要在代码中添加实体窗口关闭的事件。
Frame实现点击按钮关闭窗体的事件代码如下:
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e)
{
System.exit(0);
}});
Frame实现点击按钮关闭窗体的事件代码如下:
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e)
{
System.exit(0);
}});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是你自己建立的JFrame的话,可以给他加入一个监听事件
例如:
JFrame frame=new JFrame();
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
这样,你点击关闭时就可以关闭JFrame了。
例如:
JFrame frame=new JFrame();
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
这样,你点击关闭时就可以关闭JFrame了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这些问题在java doc上都写得很清楚的
这些问题在java doc上都写得很清楚的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这样就可以关闭窗体了
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这样就可以关闭窗体了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询