如何在Jpanel上弹出一个JDialog 对话框?
展开全部
那就找JPanel的父亲组件,直到找到一个Frame或Window。
JPanel是轻量级的组件,而JDialog是和系统管理的窗口是有对应的重量级的东西的,所以只能说,你有什么非常好的理由一定要让窗口显示在一个JPanel上?就像我们从来不在JPanel里面放一个JFrame一样的道理,因为JFrame也是和JDialog一样性质的组件。你创建的JDialog最终还是会属于一个JFrame对象的,你可以控制JDialog的坐标,使得他看上去像是在JPanel上一样~
其实如果你去看JOptionPane的那些方法,虽然他允许你传任何Component作为参数,但是他内部的实现还是向上去找了window对象,然后才用那个Window对象构造JDialog的,所以现在你也需要这么做
JPanel是轻量级的组件,而JDialog是和系统管理的窗口是有对应的重量级的东西的,所以只能说,你有什么非常好的理由一定要让窗口显示在一个JPanel上?就像我们从来不在JPanel里面放一个JFrame一样的道理,因为JFrame也是和JDialog一样性质的组件。你创建的JDialog最终还是会属于一个JFrame对象的,你可以控制JDialog的坐标,使得他看上去像是在JPanel上一样~
其实如果你去看JOptionPane的那些方法,虽然他允许你传任何Component作为参数,但是他内部的实现还是向上去找了window对象,然后才用那个Window对象构造JDialog的,所以现在你也需要这么做
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询