我正在开发一个swing应用程序,只是对JOptionPane.showMessageDialog()
的一些查询而困扰我:JOptionPane.showMessageDialog(null, "Record entered successfully");
如果我编写此代码,则“消息”窗口将出现在父框架的背面。JOptionPane.showMessageDialog(this, "Record entered successfully");
而此代码会自动将窗口放置在父框架上。
问题是:在将null
作为第一个参数实现时,我会在当前父框架的背景下获取消息,而如果我将this
作为第一个参数,则该窗口将越过父框架。为什么会这样呢?
最佳答案
在方法中
showMessageDialog(Component parentComponent, Object message)
第一个参数设置对话框的父级:
parentComponent
定义该对话框的父组件。它有两种使用方式:包含它的框架用作对话框的框架父级,并且其屏幕坐标用于对话框的放置中。通常,对话框位于组件的正下方。此参数可以是
null
,在这种情况下,默认框架用作父级,并且对话框将位于屏幕中央(取决于L&F)。我假设该方法出现在
JFrame
类内,在这种情况下,将this
作为参数传递会将父组件设置为该框架。