一个问题,一个答案。applet上实现一个模式对话框

有时候不方便调试时,我们习惯用弹出对话框来显示语句是否正常运行到某处(这是做网页都知道的)。在javaapplet中实现这个一条语句就够了。
答案:
javax.swing.JOptionPane.showMessageDialog(applet,“text”);

问题:
据说还有一种方法,我没试成功。如下:
使用以下方法未能成功。请知情高手赐教。以下方法,关键的comp,就是任意的一个组件对象不知道用什么。因为我好像没用组件啊?

Applet的小应用程序是不是不能弹出子对话框?
能!
因为Dialog的构造函数的参数里的ower不是Frame,就是Dialog
循环调用getParent()方法并检测是否为Frame实例的方法可以获取浏览器的
引用。

那么如何在Applet里构造Dialog呢?
把浏览器的引用当作父窗口即可。

在Java applet中实现模式对话框的关键就是在创建一个对话框的时候 要为该对话框指定一个正确的父窗口.因为Applet是Panel类的子类,不 可以作为对话框的父窗口,所以首先要获得applet所在的窗口,作为模式 对话框的父窗口. 样例代码如下:

.....


Dialog d = new Dialog( getParentWindow(comp),title);


// comp为applet上的任意一个组件

....

public void getParentWindow(Component compOnApplet,String title){

Container c = compOnApplet.getParent();

while (c != null) {

if (c instanceof Frame)

return (Frame) c;

c = c.getParent();

}

return null;

}

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8882012/viewspace-899157/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8882012/viewspace-899157/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值