/**
  * Busca el vehículo según los datos de marca, línea y modelo y si lo encuentra retorna su valor
  */
 public void calcularPrecioVehiculo() {
   // Pide la información dada por el usuario al respectivo panel
   String unaMarca = panelVehiculo.darMarca();
   String unaLinea = panelVehiculo.darLinea();
   String unModelo = panelVehiculo.darModelo();
   // Verifica que la información este completa
   if (unaMarca.equals("") || unaLinea.equals("") || unModelo.equals("")) {
     JOptionPane.showMessageDialog(
         this,
         "Por favor llene todos los datos",
         "Cálculo de Impuestos",
         JOptionPane.ERROR_MESSAGE);
   } else {
     try {
       double precio = calculador.buscarAvaluoVehiculo(unaMarca, unaLinea, unModelo);
       // Pide al panel que refresque la información del precio
       panelVehiculo.refrescarPrecio(precio);
     } catch (Exception e) {
       // Presenta al usuario el mensaje de la excepción
       JOptionPane.showMessageDialog(
           this, e.getMessage(), "Cálculo de Impuestos", JOptionPane.WARNING_MESSAGE);
     }
   }
 }
 /** Calcula el pago del impuesto según el vehículo */
 public void calcularImpuestos() {
   // Pide al respectivo panel la información del vehículo
   String unaMarca = panelVehiculo.darMarca();
   String unaLinea = panelVehiculo.darLinea();
   String unModelo = panelVehiculo.darModelo();
   // Verifica que la información este completa
   if (unaMarca.equals("") || unaLinea.equals("") || unModelo.equals("")) {
     JOptionPane.showMessageDialog(
         this,
         "Por favor llene todos los datos",
         "Cálculo de Impuestos",
         JOptionPane.ERROR_MESSAGE);
   } else {
     // Pide al panel respectivo la información de los descuentos
     boolean descProntoPago = panelDescuentos.hayDescuentoProntoPago();
     boolean descServicioPublico = panelDescuentos.hayDescuentoServicioPublico();
     boolean descTrasladoCuenta = panelDescuentos.hayDescuentoTrasladoCuenta();
     try {
       // Calcula el valor de los impuestos
       double pago =
           calculador.calcularPago(
               unaMarca,
               unaLinea,
               unModelo,
               descProntoPago,
               descServicioPublico,
               descTrasladoCuenta);
       // Pide al panel que refresque la información del valor de los
       // impuestos
       panelResultados.refrescarPago(pago);
     } catch (Exception e) {
       JOptionPane.showMessageDialog(
           this, e.getMessage(), "Cálculo de Impuestos", JOptionPane.WARNING_MESSAGE);
     }
   }
 }
 /** Llamado para realizar el método de extensión 2 */
 public void reqFuncOpcion2() {
   String respuesta = calculador.metodo2();
   JOptionPane.showMessageDialog(this, respuesta, "Respuesta", JOptionPane.INFORMATION_MESSAGE);
 }