Я использую метод JOptionPane.showMessageDialog (null, e, "Invalid Name", JOptionPane.ERROR_MESSAGE) для отображения исключения, расширенного из класса исключений. Но окно Pop не отображается, пока и до тех пор, пока я не нажму Alt +. В чем причина? Ниже приведен фрагмент. Предложите мне что-нибудь.Небольшая проблема при использовании JOptionPane
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
class NameInvalidException extends Exception {
/**
* Invalid Name
*/
String invName;
public NameInvalidException() {
super();
}
public NameInvalidException(String s) {
invName = s;
}
}
class SmallException extends Exception {
/**
* Short Name
*/
String sName;
public SmallException() {
super();
}
public SmallException(String s) {
sName = s;
}
}
public class ValidName {
public static void main(String arr[]) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("Enter the name: ");
String name = br.readLine();
checkName(name);
} catch (IOException e) {
System.out.println(e);
}
}// end main
static void checkName(String name) {
try {
String sarr[] = name.split(" ");
if (sarr.length != 3)
throw new SmallException(name);
for (int j = 0; j < 3; j++) {
System.out.println("in j loop");
if (sarr[j].length() < 3) {
throw new SmallException();
}
}
for (int i = 0; i < name.length(); i++) {
char ch = name.charAt(i);
if (Character.isLetter(ch) || Character.isWhitespace(ch))
System.out.println("ok " + ch);
else
throw new NameInvalidException();
}// end for
}// end try
catch (NameInvalidException e) {
JOptionPane.showMessageDialog(null, e.toString(), "Invalid Name",
JOptionPane.ERROR_MESSAGE);
System.out.println(e);
} catch (SmallException es) {
JOptionPane.showMessageDialog(null, es.toString(), "Invalid Name",
JOptionPane.ERROR_MESSAGE);
}
}// end checkName(name)
}
Спасибо! :), я попытался запустить вышеуказанный код. Вначале он дал мне ошибку для метода «createDialog (String)», а затем, ссылаясь на документацию Я попытался создать createDialog (null, String), где null означает родительский компонент, которого нет в моем фрагменте. Он работал хорошо. – Supereme
Возможно, потому что метод удобства, который я использовал, был представлен с Java 1.6 –