
package interfazgrafica9;

import java.awt.EventQueue;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

public class InterfazGrafica9 extends JFrame {
 
    public InterfazGrafica9() {
        setSize(700,500);
        setTitle("Ejemplo utilización JList");
        ubicarComponentes();
        setVisible(true);
    }
 
    private void ubicarComponentes() {

        setLayout(null);
        
        Componentes componentes = new Componentes();
        GestorEventos gestorEventos = new GestorEventos(componentes);
        
        addWindowListener(gestorEventos);        // REGISTRO DE ESCUCHA DE EVENTOS DE VENTANA
                   // CONFIGURACIÓN JList
        componentes.setDefaultListModel(new DefaultListModel());
        componentes.setjList(new JList(componentes.getDefaultListModel()));
        JScrollPane jScrollPane = new JScrollPane(componentes.getjList());
        jScrollPane.setBounds(5, 150, 250, 80);
        componentes.getjList().addListSelectionListener(gestorEventos);    // REGISTRO DE ESCUCHA DE EVENTO ListSelectionListener
        add(jScrollPane);
                   // CONFIGURACIÓN JTextField
        componentes.setjTextfield(new JTextField());
        componentes.getjTextfield().setBounds(400, 150, 200, 20);
        add(componentes.getjTextfield());          
                   // CONFIGURACIÓN JButton jButtonAñadir
        JButton jButtonAñadir = new JButton("Añadir");
        jButtonAñadir.setBounds(285, 150, 90, 40);  
        jButtonAñadir.setActionCommand("botonAñadir");
        jButtonAñadir.addActionListener(gestorEventos);   // REGISTRO DE ESCUCHA DE EVENTO DE BOTON
        add(jButtonAñadir);
                   // CONFIGURACIÓN JButton jButtonVaciar
        JButton jButtonVaciar = new JButton("Vaciar");
        jButtonVaciar.setBounds(285, 200, 90, 40);   
        jButtonVaciar.setActionCommand("botonVaciar");
        jButtonVaciar.addActionListener(gestorEventos);   // REGISTRO DE ESCUCHA DE EVENTO DE BOTON
        add(jButtonVaciar);
                   // CONFIGURACIÓN JButton jButtonEliminar
        JButton jButtonEliminar = new JButton("Eliminar");
        jButtonEliminar.setBounds(285, 250, 90, 40);   
        jButtonEliminar.setActionCommand("botonEliminar");
        jButtonEliminar.addActionListener(gestorEventos); // REGISTRO DE ESCUCHA DE EVENTO DE BOTON
        add(jButtonEliminar);        
    }
    
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
              @Override
              public void run() {
                 new InterfazGrafica9();
              }
           });  
    }    
}
