示例#1
0
 private void cancelar() {
   if (regraEditarBackup != null) {
     for (int i = 0; i < Motor.getInstancia().getRegras().size(); i++) {
       if (Motor.getInstancia().getRegras().get(i).equals(regraEditar)) {
         Motor.getInstancia().getRegras().set(i, regraEditarBackup);
         break;
       }
     }
   }
   dispose();
 }
示例#2
0
  private void salvar() {
    if (regraInserir != null) {
      if (regraInserir.getPremissas().isEmpty() || regraInserir.getConclusoes().isEmpty()) {
        JOptionPane.showMessageDialog(
            null,
            "É necessário informar pelo menos uma premissa e uma conclusão.",
            "Aviso",
            JOptionPane.WARNING_MESSAGE);
        return;
      }
      for (Sentenca premissa : regraInserir.getPremissas()) {
        for (Sentenca conclusao : regraInserir.getConclusoes()) {
          if (premissa.getVariavel().equals(conclusao.getVariavel())) {
            JOptionPane.showMessageDialog(
                null,
                "Uma variável não pode estar simultaneamente em uma premissa e em uma conclusão.",
                "Aviso",
                JOptionPane.WARNING_MESSAGE);
            return;
          }
        }
      }
      regraInserir.setDescricao(textField.getText());
      Motor.getInstancia().getRegras().add(regraInserir);
    }

    if (regraEditar != null) {
      if (regraEditar.getPremissas().isEmpty() || regraEditar.getConclusoes().isEmpty()) {
        JOptionPane.showMessageDialog(
            null,
            "É necessário informar pelo menos uma premissa e uma conclusão.",
            "Aviso",
            JOptionPane.WARNING_MESSAGE);
        return;
      }
      for (Sentenca premissa : regraEditar.getPremissas()) {
        for (Sentenca conclusao : regraEditar.getConclusoes()) {
          if (premissa.getVariavel().equals(conclusao.getVariavel())) {
            JOptionPane.showMessageDialog(
                null,
                "Uma variável não pode estar simultaneamente em uma premissa e em uma conclusão.",
                "Aviso",
                JOptionPane.WARNING_MESSAGE);
            return;
          }
        }
      }
      regraEditar.setDescricao(textField.getText());
    }
    dispose();
  }