package com.ryuuji.visual.pZone;

import com.ryuuji.visual.MainScreen;
import com.ryuuji.visual.pZone.apoderado.ApoderadoAnalizar;
import com.ryuuji.visual.pZone.estudiante.EstudianteAnalizar;
import com.ryuuji.visual.pZone.profesor.ProfesorAnalizar;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class PZone extends JFrame {
    private JButton analizarApoderados;
    private JButton analizarEstudiantes;
    private JButton analizarProfesores;
    private JPanel mainPanel;

    /**
     * Inicia la ventana con sus valores iniciales y llama a setlisteners.
     */
    public PZone() {
        setTitle("Zona personas");
        setContentPane(mainPanel);
        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        addWindowListener(
                new WindowAdapter() {
                    @Override
                    public void windowClosing(WindowEvent e) {
                        new MainScreen();
                        dispose();
                    }
                }
        );
        setResizable(false);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
        listeners();
    }

    /**
     * Inicia los botones con sus imagenes
     */
    private void createUIComponents() {
        analizarApoderados = new JButton(new ImageIcon("resources/a-ap.png"));
        analizarEstudiantes = new JButton(new ImageIcon("resources/a-es.png"));
        analizarProfesores = new JButton(new ImageIcon("resources/a-pr.png"));
    }

    /**
     * Inicia los listeners de los botones, cada uno lleva a otra ventana.
     * el analizarApoderados llama a la ventana analizarApoderados
     * el analizarEstudiantes llama a la ventana AnalizarEstudiantes
     * el analizarProfesores llama a la ventana AnalizarProfesores
     */
    private void listeners() {
        analizarApoderados.addActionListener(action -> {
            new ApoderadoAnalizar();
            dispose();
        });
        analizarEstudiantes.addActionListener(action -> {
            new EstudianteAnalizar();
            dispose();
        });
        analizarProfesores.addActionListener(action -> {
            new ProfesorAnalizar();
            dispose();
        });
    }
}
