我想从对话框中访问所选的值,并且只是为了测试我是否可以,我现在只是使用" System.out.print(selectedValue)"。似乎这个值总是" null"。如何让上述功能打印出我在对话框中选择的内容?
代码:(注意我也在学习多个文件项目,这就是为什么它看起来有些奇怪"包"和东西)
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
答案 0 :(得分:1)
这一行
Object selectedValue = JOptionPane.showInputDialog(...);
声明一个名为selectedValue
的新局部变量,并将其设置为showInputDialog
的结果。这不会影响您的实例变量selectedValue
- 它是一个不同的变量。
如果要分配实例变量,则无需重新声明;所以将行改为
selectedValue = JOptionPane.showInputDialog(...);