我有这个
if (e.getSource()==click && meno.getText().equals("")) {
ulozMeno = meno.getText();
JOptionPane.showMessageDialog(null, "Nothing entered.");
System.exit(0);
}
我需要进行设置,如果我退出showMessageDialog或按OK,则要继续编程
答案 0 :(得分:0)
从深度上看,您可能会认为您的问题是,提供的评论建议绝对可以回答该问题。您的问题及其中的代码并没有给您提供全面的信息(或与此相关的任何信息)。您需要更好地解释为什么以及您要完成什么。 Give this a read when you have time.
通过提供的代码,您似乎在某种事件方法之内,而您只想通知用户在某种JTextField内未输入任何内容(您未指定)。在这种情况下,您实际上并不想退出应用程序,而只想退出事件本身,这将使用户有机会输入一些内容。在这种情况下,请将System.exit(0);
替换为return;
,以便在事件代码应该 meno 实际上包含某些内容的情况下绕过进一步的处理。
如果您还打算允许用户选择退出应用程序,那么您可能应该使用JOptionPane.showOptionDialog()方法来代替,该方法允许您指定按钮显示的内容,例如:
if (e.getSource() == click && meno.getText().equals("")) {
String[] buttonOptions = {"Retry Entry", "Cancel", "Exit Application"};
int result = JOptionPane.showOptionDialog(this, "No Text was Entered!",
"Your Dialog Title", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE, null, buttonOptions,
"Retry Entry");
switch (result) {
// Retry Entry
case JOptionPane.YES_OPTION:
System.out.println("Retry Entry button selected!");
meno.requestFocus();
return;
// Cancel
case JOptionPane.NO_OPTION:
System.out.println("Cancel button selected!");
return;
// Exit Application
case JOptionPane.CANCEL_OPTION:
System.out.println("Exit Application button selected!");
System.exit(0);
}
}
String ulozMeno = meno.getText();
// .... The rest of your code here ...
通过此对话框,通知用户菜单中未提供任何内容,并通过选择 重试条目 按钮,也可以将焦点设置在文本字段上。通过选择 取消 按钮,用户还可以选择取消该过程(无论如何)。最后,通过选择 Exit Application (退出应用程序) 按钮,为用户提供了另一种完全退出应用程序的选项。