Vabbè ... ok.
Il renderer predefinito di JList invoca toString() su ogni elemento del list model. Quindi in Menu basta definire un toString() che restituisce il "menuName". Stop, tutto qui.
Non ho capito ... quale è il dubbio? Avrai oggetti di tipo Menu ... il list model conterrà oggetti Menu e puoi prenderli dal list model in qualunque momento (es. l'elemento "selezionato"). Se non usi DefaultListModel parametrizzato con i generics da Java 7, esso fornisce Object ma tu "sai" che sono oggetti Menu. Quindi basta un cast e poi es. getId().
Il new Menu(); è da fare chiaramente per ogni record. Non devi istanziarlo es. una volta sola prima del classico ciclo while (rs.next()) !
Questo è ok ma ovviamente è da un'altra parte (dove crei la GUI, immagino).



Rispondi quotando