J'ai un problème dans mon code concernant jeter une nouvelle exception.Throw nouvelle exception
Dans l'une des JTextField j'entrer le numéro 0, mais il est incorrect et après avoir cliqué sur "Enter" botton en ce moment il est lancé un nouveau message d'exception:
throw new Exception("Wrong number of express lanes range beginnig!! \n Please enter positive number!");
Le message de boîte apparaît avec le message d'erreur I peut seulement cliquer sur "OK". Après avoir cliqué sur "OK" je veux que le programme s'arrête parce que je veux corriger les mauvaises données dans le JTextField. Je ne peux pas faire cela parce qu'après je clique sur « OK le programme processus se poursuit. Comment puis-je arrêter le programme et corriger les données? Voici une partie importante du code où je vois que j'ai un problème.
public class UILayer
{
private JTextField text1, text2, text3, text4, text5, text6;
private void validateNumbers() throws Exception
{
if(!text1.getText().equals("") &&
Integer.parseInt(text1.getText()) <= 0)
throw new Exception("Wrong number of lanes!! \n Please enter positive number!");
if(!text2.getText().equals("") &&
Integer.parseInt(text2.getText()) <= 0)
throw new Exception("Wrong number of express lanes!! \n Please enter positive number!");
if(!text3.getText().equals("") &&
Integer.parseInt(text3.getText()) <= 0)
throw new Exception("Wrong number of express lanes range beginnig!! \n Please enter positive number!");
if(!text4.getText().equals("") &&
Integer.parseInt(text4.getText()) <= 0)
throw new Exception("Wrong number of express lanes range ending!! \n Please enter positive number!");
if(!text5.getText().equals("") &&
Integer.parseInt(text5.getText()) <= 0)
throw new Exception("Wrong number of customers!! \n Please enter positive number!");
if(!text6.getText().equals("") &&
Integer.parseInt(text6.getText()) <= 0)
throw new Exception("Wrong number of max items!! \n Please enter positive number!");
}
protected class EnterClickListener implements ActionListener
{
private SimulationConfig info;
EnterClickListener()
{
info = new SimulationConfig();
}
@Override
public void actionPerformed(ActionEvent event)
{
try
{
if(!(event.getActionCommand().equals(null)))
{
validateForm();
validateNumbers();
}
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null, "Error.\nPlease enter number.",
"Message", JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "Error.\n" + e.getMessage() ,
"Message", JOptionPane.INFORMATION_MESSAGE);
}
info.setCustomerRestriction(Integer.parseInt(text5.getText()), Integer.parseInt(text6.getText()));
info.setExpressRange(Integer.parseInt(text3.getText()), Integer.parseInt(text4.getText()));
info.setLanesNum(Integer.parseInt(text1.getText()), Integer.parseInt(text2.getText()));
showProgressBar();
task = blayer.startSimulation(info);
task.addPropertyChangeListener(new PropertyChangeListener());
task.execute();
}
}
BINGO !!! Votre conseil était très utile. Merci PC. – user1282256