2
respuestas

Cada vez que ejecuto es proyecto, pasa esto, por que?

Buenos días,

Hay algo que me está faltando hacer porque cada vez que ejecuto el proyecto me aparece esta ventana y carga un montón. ¿Qué me está faltando hacer? Desde ya, muchas gracias.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

Hola Alejandra,

No he podido comprobar el mensaje de error que muestra el IDE, pero parece que estás ejecutando el proyecto y te aparece una ventana que carga durante mucho tiempo. Esto podría ser debido a varios factores, en tu caso podría ser que estás intentando guardar un producto sin asignarle una categoría.

En la lección, se menciona que se debe asignar una categoría a cada producto antes de guardarlo. Esto se hace en la clase ControlDeStockFrame, donde se llama al método de guardar en la clase y se asigna la categoría al producto.

Por ejemplo, en la lección se menciona que se debe hacer lo siguiente:

Categoria categoria = (Categoria) comboCategoria.getSelectedItem();
productoController.guardar(textoNombre.getText(), textoPrecio.getText(), categoria.getId());

En este código, se obtiene la categoría seleccionada en el combobox de categorías (comboCategoria.getSelectedItem()), se convierte a Categoria y luego se utiliza su ID (categoria.getId()) al guardar el producto.

Si no se asigna una categoría al producto antes de guardarlo, esto podría estar causando el problema que estás experimentando. Te recomendaría revisar tu código para asegurarte de que estás asignando una categoría a cada producto antes de guardarlo.

Espero que esta información te sea útil. Si sigues experimentando el problema después de revisar y ajustar tu código, podría ser útil compartir más detalles sobre el problema, como el código exacto que estás utilizando la mensaje de error que estas recibiendo.

Espero haber ayudado. Mucho éxito en todo lo que te propongas y si tienes más duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.

Hola Adriana,

Gracias por tu respuesta!

Con respecto al mensaje de error, no es problema ahora. Me procupa la ventana que se me abre cada vez que intento correr el proyecto. Como se ve en la primer imagen, debo dar click en OK y luego el proyecto arranca. Esto lo debo hacer cada vez que ejecuto el proyecto.

Hay alguna forma de evitarlo?

Por otro lado, en ControlsDeStockFrame, mi método guardar se encuentra así, luego de seguir al instructor:

private void guardar() {
    if (textoNombre.getText().isBlank() || textoDescripcion.getText().isBlank()) {
        JOptionPane.showMessageDialog(this, "Los campos Nombre y Descripción son requeridos.");
        return;
    }

    Integer cantidadInt;

    try {
        cantidadInt = Integer.parseInt(textoCantidad.getText());
    } catch (NumberFormatException e) {
        JOptionPane.showMessageDialog(this, String
                .format("El campo cantidad debe ser numérico dentro del rango %d y %d.", 0, Integer.MAX_VALUE));
        return;
    }

    // El producto lo estoy enviando al método guardar.
    var producto = new Producto(textoNombre.getText(), textoDescripcion.getText(), cantidadInt);

    var categoria = (Categoria) comboCategoria.getSelectedItem();
    

    this.productoController.guardar(producto, categoria.getId());

    JOptionPane.showMessageDialog(this, "Registrado con éxito!");

    this.limpiarFormulario();

}

Entiendo que de esta forma tambien se está guardado la categoria al guardar el producto. Es así?

Nuevamente, muchas gracias.