估计是你的MessageDialog窗口跑到其它窗口后面去了.
applet中弹出JOptionPane窗口应该这样:
Frame f=null;
for(Container c=this;c!=null;c=c.getParent()){
     if(c instanceof Frame){
f=(Frame)c;
     }
}
JOptionPane.showMessageDialog(f,"测试applet中的MessageDialog","测试",JOptionPane.WARNING_MESSAGE);

解决方案 »

  1.   

    感谢 cooled,但我试了还是不行。请注意我是在子窗口中调用父窗口里的方法,给出提示,再关闭子窗口。现在就是提示出来以后,子窗口根本不关闭,浏览器死掉。
    function aa(){
    .......
        opener.addName("20",name);
        window.close();......
    }
    像上面这样的语句,是不是非要等addName方法执行完之后才window.close?有没有办法先关闭窗口本身再调父窗口的方法?我试过把两句调换位置,不起作用。
      

  2.   

    JOptionPane.showMessageDialog (null,this.message,
                            this.title,this.type);
    -->
    JOptionPane.showMessageDialog (getParent(),this.message,
                            this.title,this.type);
      

  3.   

    window.close();是你自己写的方法?
    为什么不用:
    window.setVisible();
    window.dispose();
      

  4.   

    二位起得这么早呀^_^
    beyond_xiruo的办法还是不行。to cooled:window.close()是javascript自己的方法嘛,你是不是还没睡醒:)
      

  5.   

    to搂主:
    javascript不会,:),主要是做java application,有段时间要实现application改网页浏览才接触applet.
    你试试注掉window.close()浏览器会不会死掉先.
      

  6.   

    和调用父窗口中的函数没有关系,关键可能就是dialog中你设置成null还有你的window.close()方法的问题,你或许可以多给点代码看看,这么点代码实在没办法判断
      

  7.   

    “window.close()是javascript自己的方法嘛,你是不是还没睡醒:)”
    在applet里可这样调用javascript吗
      

  8.   

    beyond_xiruo
    是不是 CSDN 性欲最高的啊?
    还有比他高的吗?