当前位置: 技术问答>java相关
紧急求助,如何关闭applet里面的frame?
来源: 互联网 发布时间:2015-01-24
本文导语: 我做了一个aoolet,里面有一个frame,但是如何才能关闭这个frame呢?用鼠标点击frame右上角的关闭按钮没有作用,还有,如何实现在浏览器离开这个applet的时候,这个frame会自动关闭呢? 我添加了如下的代码,但是不起作用: ...... F...
我做了一个aoolet,里面有一个frame,但是如何才能关闭这个frame呢?用鼠标点击frame右上角的关闭按钮没有作用,还有,如何实现在浏览器离开这个applet的时候,这个frame会自动关闭呢?
我添加了如下的代码,但是不起作用:
......
Frame thisWindow;
thisWindow.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
....
在主applet类里面,加入以下代码:
public void destroy() {
remove(thisMainWindow);
}
我添加了如下的代码,但是不起作用:
......
Frame thisWindow;
thisWindow.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
....
在主applet类里面,加入以下代码:
public void destroy() {
remove(thisMainWindow);
}
|
你为你的Frame加一个close()方法,里面要调用 dispose(),然后在applet的destroy()方法中调用这个Frame的close()方法即可关闭。
同样,点右上角的"X"事件处理中也应是只调用这个Frame的setVisible(false)或dispose()方法,不可以调用System.exit(0)的,因为你不是要退出java,记住一点,所有的java程序其实都是在jvm中运行的。
|
frame
import java.awt.*;
import java.awt.event.*;
public class MyApp324 extends Frame
{
public MyApp324()
{
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
public static void main(String args[])
{
System.out.println("Starting App");
MyApp324 f = new MyApp324();
f.setSize(100,100);
f.show();
}
}
离开这个applet的时候,这个frame会自动关闭
void addMouseListener(new EventListener()
{
public void mouseExited(MouseEvent e)
{
MyApp324.hide();
MyApp324.dispose();
}
});
import java.awt.*;
import java.awt.event.*;
public class MyApp324 extends Frame
{
public MyApp324()
{
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
public static void main(String args[])
{
System.out.println("Starting App");
MyApp324 f = new MyApp324();
f.setSize(100,100);
f.show();
}
}
离开这个applet的时候,这个frame会自动关闭
void addMouseListener(new EventListener()
{
public void mouseExited(MouseEvent e)
{
MyApp324.hide();
MyApp324.dispose();
}
});