2
        JOptionPane.showMessageDialog(null, "a String");

我只是想知道 JOptionPane 行中的第一个参数 (null) 是什么意思,它的用途是什么?

4

3 回答 3

5

来自Javadoc

关于第一个论点:

parentComponent - 确定显示对话框的框架;如果为 null,或者如果 parentComponent 没有 Frame,则使用默认 Frame。

于 2013-06-23T20:06:26.943 回答
1

您使用的签名是:

showInputDialog(Component parentComponent, Object message) 

其中,根据java doc:

显示一个问题消息对话框,请求用户 parentedparentComponent.

将 null 传递给它只是表示没有关联的“父”对话框 - 即,正在显示的对话框不属于另一个对话框。

相反,您可以使用重载签名并像这样调用它:

showInputDialog(Object message)
于 2013-06-23T20:12:34.333 回答
0
static void showMessageDialog(Component parentComponent, Object message).

如您所见,方法“showMessageDialog()”需要两个参数:第一个是组件类型,第二个是对象类型。原始 int 类型的“空”值为“0”,但对象或组件等的“空”值为“null”。因此,如果您没有任何 Component 可供选择,则 null 就是您放在那里的内容。如果您在那里指定一个组件,对话框将在其上打开。如果您不指定,则需要将 null 放在那里,对话框将在“nothing”上打开

于 2013-06-23T20:12:47.717 回答