Salve,

Premetto che non ho mai programmato interfacce grafiche,ho cercato di capirci qualcosa leggendo le varie guide che ho trovato, ma quando si tratta di fare reagire l'interfaccia attivandone i pulsanti o comuqnue gli elementi, è qui che casca l'asino.

Ho come compito, quello di creare un interfaccia grafica GUI per gestire una LinkedList che ho creato.
Ho fatto un Form, inserendogli un JMenu e un JPanel,una JTextArea su cui visualizzare tutto, nel menù ho inserito vari voci che dovrebbero essere funzionanti e invece non fanno nulla in quanto li devo programmare, il problerma credo stia proprio qui, come faccio a renderli attivi e soprattutto a legarli con la linkedList?

qui di seguito vi riporto il codice della gui:
codice:
package LinkedListDoppia;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;




public class List_GUI extends JFrame {
	private File fileDiSalvataggio=null;
	private JMenuItem ListStringhe, ListInteri,apri, salva, salva_con_nome,
	                  ripristina, esci,AggiungiNodo, getSize, verificaCapienza, 
	                  primoElemento, UltimoElement, Stack, Coda, valoriCrescenti, 
	                  valoriDecrescenti ,Previous , Next;
	
	AscoltatoreEventiAzione listener=new AscoltatoreEventiAzione();
	
	
	public List_GUI(){//COSTRUTTORE
		
		//CREAZIONE MENU*********************
		//creazione barra dei menu'
        JMenuBar menuBar=new JMenuBar();
        this.setJMenuBar( menuBar );
        //creazione file menu
        JMenu fileMenu=new JMenu("File");
        menuBar.add(fileMenu);
        
      //creazione voci del menu File
        JMenu tipoImpl=new JMenu("Nuovo");
        fileMenu.add(tipoImpl);        
        ListStringhe=new JMenuItem("Lista di Stringhe");
        ListStringhe.addActionListener(listener);
        tipoImpl.add(ListStringhe);
        ListInteri=new JMenuItem("Lista di Interi");
        ListInteri.addActionListener(listener);
        tipoImpl.add(ListInteri);
        fileMenu.addSeparator();
        
        salva=new JMenuItem("Salva");
        salva.addActionListener(listener);
        fileMenu.add(salva);
        
        salva_con_nome=new JMenuItem("Salva con nome");
        salva.addActionListener(listener);
        fileMenu.add(salva_con_nome);
		
        ripristina= new JMenuItem("Ripristina");
        ripristina.addActionListener(listener);
        fileMenu.add(ripristina);
        
        fileMenu.addSeparator();
        esci=new JMenuItem("Esci");
        esci.addActionListener(listener);
        fileMenu.add(esci);
        
      //creazione comandi menu
        JMenu comandiMenu=new JMenu("Comandi");
        menuBar.add(comandiMenu);
        
        //Creazione voci menu comandi
        AggiungiNodo=new JMenuItem("Aggiungi Nodo");
        AggiungiNodo.addActionListener(listener);
        comandiMenu.add(AggiungiNodo);
        
        comandiMenu.addSeparator();
        
        getSize=new JMenuItem("Visualizza Lunghezza");
        getSize.addActionListener(listener);
        comandiMenu.add(getSize);
        
        verificaCapienza=new JMenuItem("Verifica della Capienza");
        verificaCapienza.addActionListener(listener);
        comandiMenu.add(verificaCapienza);
        
        primoElemento=new JMenuItem("Primo elemento");
        primoElemento.addActionListener(listener);
        comandiMenu.add(primoElemento);
        
        UltimoElement=new JMenuItem("Ultimo elemento");
        UltimoElement.addActionListener(listener);
        comandiMenu.add(UltimoElement);
        
        
      //creazione visualizzazione menu
        JMenu visualizzazioneMenu=new JMenu("Visualizzazione");
        menuBar.add(visualizzazioneMenu);
        
      //Creazione voci menu visualizzazione
        Stack=new JMenuItem("a Stack");
        Stack.addActionListener(listener);
        visualizzazioneMenu.add(Stack);
        
        Coda=new JMenuItem("a Coda");
        Coda.addActionListener(listener);
        visualizzazioneMenu.add(Coda);
        
       valoriCrescenti=new JMenuItem("valori crescenti");
        valoriCrescenti.addActionListener(listener);
        visualizzazioneMenu.add(valoriCrescenti);
        
       valoriDecrescenti=new JMenuItem("valori decrescenti");
        valoriDecrescenti.addActionListener(listener);
        visualizzazioneMenu.add(valoriDecrescenti);
        
      //creazione ListIterator menu
        JMenu IteratorMenu=new JMenu("Iteratore di Lista");
        menuBar.add(IteratorMenu);
        //creazione delle voci next e previous
        Next=new JMenuItem("Next");
        Next.addActionListener(listener);
        IteratorMenu.add(Next);
        
        Previous=new JMenuItem("Previous");
        Previous.addActionListener(listener);
        IteratorMenu.add(Previous);             
      //creazione menu Help
        JMenu helpMenu=new JMenu("Help");
        
        JLabel hel = new JLabel("programma dedito alla gestione di una lista doppiamente concatenata");
        helpMenu.add(hel);
        menuBar.add(helpMenu);
        ////FINE MENU***************************
        
        JTextArea areaDiTesto = new JTextArea("Qui saranno riportate le informazioni relative \n ai comandi riportati nella barra dei menù",10,40);
        
        
        
		 setTitle("LINKEDLIST DOPPIAMENTE CONCATENATA");
		 setSize(500,300);setLocation(200,150);
		 setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE  );
         
	JLabel a = new JLabel("                                                                                                                                          ");
	JPanel pannello= new JPanel();
	JLabel etic1=new JLabel("Gestione di LinkedListDoppiamenteConcatenata");
	pannello.add(etic1);
	pannello.add(a);
	pannello.add(areaDiTesto);
	setContentPane(pannello);

		setVisible(true);
	 }//costruttore
	
	Lista<String> list1 = new ListaConcatenata<String>();
	Lista<Integer> list2 = new ListaConcatenata<Integer>();

	public static void main (String [] args){
		List_GUI interfaccia = new List_GUI();
	}
	
	}
vi ringrazio anticipatamente per l'aiuto