如何在Jpanel上弹出一个JDialog 对话框?

JDialog必须指定一个ower 那么如果在JPanel上弹出此框呢?应该怎么写??

第1个回答  2010-02-22
那就找JPanel的父亲组件,直到找到一个Frame或Window。
JPanel是轻量级的组件,而JDialog是和系统管理的窗口是有对应的重量级的东西的,所以只能说,你有什么非常好的理由一定要让窗口显示在一个JPanel上?就像我们从来不在JPanel里面放一个JFrame一样的道理,因为JFrame也是和JDialog一样性质的组件。你创建的JDialog最终还是会属于一个JFrame对象的,你可以控制JDialog的坐标,使得他看上去像是在JPanel上一样~

其实如果你去看JOptionPane的那些方法,虽然他允许你传任何Component作为参数,但是他内部的实现还是向上去找了window对象,然后才用那个Window对象构造JDialog的,所以现在你也需要这么做本回答被提问者采纳
相似回答