在错误消息对话框之后显示输入对话框
show input dialog box after error message dialog box
我需要显示一个输入对话框并输入玩家的名字。
如果玩家点击确定按钮并且输入对话框的值为数字或空值,则应显示错误。如果玩家点击错误信息对话框的确定按钮,输入框会再次出现
不知道是不是我的代码有误。由于我的网络编程主题,我忘记了如何在 java 中编码。
int[] player = new int[1];
for(int a =0; a<player.length; a++){
String input = JOptionPane.showInputDialog("Enter your Name:",JOptionPane.OK_CANCEL_OPTION);
try {
if(!input.matches("[a-zA-Z]+")){
JOptionPane.showMessageDialog(null,"Use Letters only", "Warning", JOptionPane.OK_OPTION);
} else {
input = String.valueOf(player[a]);
category c = new category();
this.dispose();
c.show();
}
}
catch(Exception e){
};
显示显示消息的错误对话框,'alert':
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
显示带有消息的内部信息对话框,'information':
JOptionPane.showInternalMessageDialog(frame, "information", "information", JOptionPane.INFORMATION_MESSAGE);
显示带有选项 yes/no 和消息 'choose one':
的信息面板
JOptionPane.showConfirmDialog(null,"choose one", "choose one", JOptionPane.YES_NO_OPTION);
显示带有选项 yes/no/取消和消息 'please choose one' 以及标题信息的内部信息对话框:
JOptionPane.showInternalConfirmDialog(frame, "please choose one", "information",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
显示带有选项“确定”、“取消”、标题 'Warning' 和消息 'Click OK to continue':
的警告对话框
Object[] options = { "OK", "CANCEL" };
JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning",JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,null, options, options[0]);
显示一个对话框,要求用户输入字符串:
String inputValue = JOptionPane.showInputDialog("Please input a value");
显示一个对话框,要求用户 select 一个字符串:
Object[] possibleValues = { "First", "Second", "Third" };
Object selectedValue = JOptionPane.showInputDialog(null,"Choose one", "Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
如果循环正确,则只需要一个对话框:
String message = "Enter Your Name:";
String playerName = null;
do {
playerName =
JOptionPane.showInputDialog(message);
message = "<html><b style='color:red'>Enter Your Name:</b><br>"
+ "Use letters only.";
} while(playerName != null && !playerName.matches("[a-zA-Z]+"));
System.out.println("PlayerName: " + playerName);
这将将错误消息包含到要求有效名称的下一次迭代中。也让它更好用。
第一次调用时显示如下:
并在出现错误时像这样:
备注
如果名称后面的数字没问题(例如 "bunny99"
),您可能需要将正则表达式更改为 "[a-zA-Z]\w+"
我需要显示一个输入对话框并输入玩家的名字。
如果玩家点击确定按钮并且输入对话框的值为数字或空值,则应显示错误。如果玩家点击错误信息对话框的确定按钮,输入框会再次出现
不知道是不是我的代码有误。由于我的网络编程主题,我忘记了如何在 java 中编码。
int[] player = new int[1];
for(int a =0; a<player.length; a++){
String input = JOptionPane.showInputDialog("Enter your Name:",JOptionPane.OK_CANCEL_OPTION);
try {
if(!input.matches("[a-zA-Z]+")){
JOptionPane.showMessageDialog(null,"Use Letters only", "Warning", JOptionPane.OK_OPTION);
} else {
input = String.valueOf(player[a]);
category c = new category();
this.dispose();
c.show();
}
}
catch(Exception e){
};
显示显示消息的错误对话框,'alert':
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
显示带有消息的内部信息对话框,'information':
JOptionPane.showInternalMessageDialog(frame, "information", "information", JOptionPane.INFORMATION_MESSAGE);
显示带有选项 yes/no 和消息 'choose one':
的信息面板JOptionPane.showConfirmDialog(null,"choose one", "choose one", JOptionPane.YES_NO_OPTION);
显示带有选项 yes/no/取消和消息 'please choose one' 以及标题信息的内部信息对话框:
JOptionPane.showInternalConfirmDialog(frame, "please choose one", "information",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
显示带有选项“确定”、“取消”、标题 'Warning' 和消息 'Click OK to continue':
的警告对话框Object[] options = { "OK", "CANCEL" };
JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning",JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,null, options, options[0]);
显示一个对话框,要求用户输入字符串:
String inputValue = JOptionPane.showInputDialog("Please input a value");
显示一个对话框,要求用户 select 一个字符串:
Object[] possibleValues = { "First", "Second", "Third" };
Object selectedValue = JOptionPane.showInputDialog(null,"Choose one", "Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
如果循环正确,则只需要一个对话框:
String message = "Enter Your Name:";
String playerName = null;
do {
playerName =
JOptionPane.showInputDialog(message);
message = "<html><b style='color:red'>Enter Your Name:</b><br>"
+ "Use letters only.";
} while(playerName != null && !playerName.matches("[a-zA-Z]+"));
System.out.println("PlayerName: " + playerName);
这将将错误消息包含到要求有效名称的下一次迭代中。也让它更好用。
第一次调用时显示如下:
并在出现错误时像这样:
备注
如果名称后面的数字没问题(例如 "bunny99"
),您可能需要将正则表达式更改为 "[a-zA-Z]\w+"