繁体   English   中英

Java JOptionPane对话框NullPointerException

[英]Java JOptionPane Dialog NullPointerException

下面的代码运行完美,但是如果在对话框上单击“ x”或“取消”,则会引发NullPointerException 我正在尝试调用方法TestMessage并返回到同一对话框。

import javax.swing.JOptionPane;

public class Alpha {

  public void TestMessage() {

    Object [] tM1={"Option 1","Option 2","Option 3"};

    String mA2 = (String) JOptionPane.showInputDialog(null,"This is a test Message",null, JOptionPane.QUESTION_MESSAGE, null,tM1,tM1[0]);

    if (mA2.equals("Option 1")) {JOptionPane.showMessageDialog(null,"You chose Option 1");}
    if (mA2.equals("Option 2")) {JOptionPane.showMessageDialog(null,"You chose Option 2");}
    if (mA2.equals("Option 3")) {JOptionPane.showMessageDialog(null,"You chose Option 3");}

    }

    public static void main (String [] args) {

    Alpha A1=new Alpha();
    A1.TestMessage();

    }

    }

错误信息:

java.lang.NullPointerException
at Alpha.TestMessage(Alpha.java:11)
at Alpha.main(Alpha.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)

如果您按“取消”或“ X”,则showInputDialog返回null ,以便检查if (mA2.equals("Option 1")访问null指针。只需在之前检查mA2 != null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM