我正在开发一个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作为参数传递会将父组件设置为该框架。

10-07 18:55
查看更多