genere un código acerca de una falla de un correo electrónico en base a la siguiente información: Ingresar la cuenta del correo; que tenga un formato similar a: nombre.apellido.apellido@est.uned.ac.cr, que de error si no es correcto y volver a intentarlo. ingresar la Descripción de la falla, que se pueda ingresar mas de 10 caracteres, que de error si no es correcto y volver a intentarlo. Registrar un correo alterno, que de error si se queda en blanco y volver a intentarlo Ingresar el Número de Teléfono, que de error si se digite valores no numéricos y volver a intentarlo. Al finar, Presentar una nota en pantalla de que se registro el caso, y se enviará información al correo alterno.
A continuación, te proporciono un ejemplo de código en Java que cumple con las especificaciones que me proporcionaste: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.regex.Matcher; import java.util.regex.Pattern; public class FallaCorreo extends JFrame { private JTextField txtCorreo; private JTextField txtDescripcion; private JTextField txtCorreoAlterno; private JTextField txtTelefono; public FallaCorreo() { setLayout(new BorderLayout()); // Panel de ingreso de datos JPanel panelDatos = new JPanel(); panelDatos.setLayout(new GridLayout(4, 2)); panelDatos.add(new JLabel("Correo electrónico:")); txtCorreo = new JTextField(); panelDatos.add(txtCorreo); panelDatos.add(new JLabel("Descripción de la falla:")); txtDescripcion = new JTextField(); panelDatos.add(txtDescripcion); panelDatos.add(new JLabel("Correo electrónico alterno:")); txtCorreoAlterno = new JTextField(); panelDatos.add(txtCorreoAlterno); panelDatos.add(new JLabel("Número de teléfono:")); txtTelefono = new JTextField(); panelDatos.add(txtTelefono); add(panelDatos, BorderLayout.CENTER); // Botón de registro JButton btnRegistrar = new JButton("Registrar falla"); btnRegistrar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { registrarFalla(); } }); add(btnRegistrar, BorderLayout.SOUTH); setSize(400, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } private void registrarFalla() { String correo = txtCorreo.getText(); String descripcion = txtDescripcion.getText(); String correoAlterno = txtCorreoAlterno.getText(); String telefono = txtTelefono.getText(); // Validación del correo electrónico if (!correo.matches("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")) { JOptionPane.showMessageDialog(this, "Formato de correo electrónico inválido. Por favor, ingrese un correo electrónico válido."); txtCorreo.requestFocus(); return; } // Validación de la descripción de la falla if (descripcion.length() < 10) { JOptionPane.showMessageDialog(this, "La descripción de la falla debe tener al menos 10 caracteres."); txtDescripcion.requestFocus(); return; } // Validación del correo electrónico alterno if (correoAlterno.isEmpty()) { JOptionPane.showMessageDialog(this, "El correo electrónico alterno no puede estar en blanco."); txtCorreoAlterno.requestFocus(); return; } // Validación del número de teléfono if (!telefono.matches("\\d+")) { JOptionPane.showMessageDialog(this, "El número de teléfono solo puede contener números."); txtTelefono.requestFocus(); return; } // Registro de la falla JOptionPane.showMessageDialog(this, "La falla se ha registrado con éxito. Se enviará información al correo electrónico alterno."); JOptionPane.showMessageDialog(this, "Correo electrónico alterno: " + correoAlterno + "\nNúmero de teléfono: " + telefono); } public static void main(String[] args) { new FallaCorreo(); } } ``` Este código crea una ventana con campos de texto para ingresar la cuenta del correo, la descripción de la falla, el correo electrónico alterno y el número de teléfono. Cuando se presiona el botón de registro, se validan los campos de texto y se registra la falla si todos los campos son válidos. Si algún campo es inválido, se muestra un mensaje de error y se pide al usuario que ingrese los datos correctamente.