有没有办法让这段代码工作?我遇到的唯一问题是当用户点击取消时,会显示消息对话框。
public static void main(String[] args) {
try {
JOptionPane.showInputDialog("Enter something")
} catch (Exception error) {
JOptionPane.showMessageDialog("Something went wrong.");
}
}
答案 0 :(得分:2)
我修改了你的代码以便编译:
import javax.swing.JOptionPane;
public class Example {
public static void main(String[] args) {
try {
JOptionPane.showInputDialog("Enter something");
} catch (Exception error) {
error.printStackTrace();
JOptionPane.showMessageDialog(null, "Something went wrong.");
}
}
}
无论我是否点击“取消”或“确定”,它在运行时都能正常工作。没有例外。
我怀疑您的实际代码除了您发布的内容之外还有其他内容。
答案 1 :(得分:1)
当他们按下取消时,你会得到一个空值。我怀疑你得到了一个被抓住的NPE。检查null的返回值。
答案 2 :(得分:1)
import javax.swing.*;
class GetInput {
public static void getInput() {
String result = JOptionPane.showInputDialog(null, "Enter something");
if (result==null) {
System.out.println("User cancelled action.");
} else {
System.out.println("User entered '" + result + "'.");
}
}
public static void main (String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
getInput();
getInput();
}
});
}
}
User entered 'this code runs!'.
User cancelled action.
Press any key to continue . . .
答案 3 :(得分:-1)
try{
//some code ;)
} catch(Exception e) {
System.out.println(e.getMessage());
JOptionPane.showMessageDialog(this, " erreur !!! :" + e.getMessage());
}