JOptionPane.showInputDialog 总是 returns 空

JOptionPane.showInputDialog always returns null

我想从对话框中访问选定的值,只是为了测试我是否可以,我目前正在使用 "System.out.print(selectedValue)"。似乎这个值总是 "null"。如何让上述功能打印出我在对话框中选择的任何内容?

代码:(注意我也在学习多文件项目,这就是为什么 "package" 和东西看起来有点奇怪)

package classfolder;

import java.applet.*;
import java.awt.*;
import javax.swing.*;

public class openWindow
{   

    public Object selectedValue;

    public openWindow()
    {       
        Object[] Categories = { "First", "Second", "Third" };
        Object selectedValue = JOptionPane.showInputDialog(null, "Choose one", "Input", JOptionPane.INFORMATION_MESSAGE, null, Categories, Categories[0]);
    }

}

import classfolder.*;

public class master
{

    public static void main(String[] arg)
    {
        openWindow window = new openWindow();
        System.out.println(window.selectedValue);

    }
}

我从控制台得到的:

...address...>java master
null

这一行

Object selectedValue = JOptionPane.showInputDialog(...);

声明一个名为 selectedValue 的新局部变量并将其设置为 showInputDialog 的结果。这不会影响您的实例变量 selectedValue - 它是一个不同的变量。

如果你想给你的实例变量赋值,你不需要重新声明它;所以将行更改为

selectedValue = JOptionPane.showInputDialog(...);