Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    [Java] Inserire elementi in JList durante il runtime

    Ciao a tutti,

    Vi descrivo la situazione brevemente..
    Ho un JTabbedPane con 2 Tab, ognuna con un JList. Una JList mostra dei nomi, cliccando uno di questi nomi, vengono mostrati alcuni dati nell'altra JList (e cliccando sull'altra JList vengon mostrati i dati in altri campi).

    In sostanza vorrei sapere come inserire elementi nelle JList durante il runtime.. o comunque, se per inserire gli elementi tutti insieme, devo per forza di cose utilizzare il costruttore (e quindi crearli alla creazione dell'oggetto).
    Inoltre, se eseguo questa operazione al verificarsi di una particolare condizione..come aggiungo il JList? Questo si trova in un pannello..quindi se lo aggiungo al pannello e contiene solo un riferimento il compilatore si lamenta..


    Grazie a tutti!! ^^

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] Inserire elementi in JList durante il runtime

    Originariamente inviato da Patrick Jane
    In sostanza vorrei sapere come inserire elementi nelle JList durante il runtime.. o comunque, se per inserire gli elementi tutti insieme, devo per forza di cose utilizzare il costruttore (e quindi crearli alla creazione dell'oggetto).
    Se vuoi rimpiazzare completamente tutti gli elementi allora JList ha 2 metodi:

    setListData(Object[] listData)
    setListData(Vector<?> listData)

    Ma altrimenti in generale per JList devi "parlare" direttamente con il model. E qui dipende quale model, se uno tuo o uno di default es. DefaultListModel (che è "mutabile" e basato su Vector di oggetti) o altro.

    Originariamente inviato da Patrick Jane
    Inoltre, se eseguo questa operazione al verificarsi di una particolare condizione..come aggiungo il JList? Questo si trova in un pannello..quindi se lo aggiungo al pannello e contiene solo un riferimento il compilatore si lamenta..
    Che vuol dire? (non mi pare chiaro) Vuoi inserire un JList "dinamicamente" in un contenitore dopo che quest'ultimo è già visibile? Basta aggiungerlo al contenitore come al solito (con o senza constraint a seconda del layout) e poi se il contenitore ha un layout manager tipicamente (non è detto) basta un validate() sul contenitore o se non c'è layout manager un repaint() sul componente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    Re: Re: [Java] Inserire elementi in JList durante il runtime

    Originariamente inviato da andbin
    Se vuoi rimpiazzare completamente tutti gli elementi allora JList ha 2 metodi:

    setListData(Object[] listData)
    setListData(Vector<?> listData)
    Ah bene! Penso proprio faccia al caso mio il primo costruttore!



    Originariamente inviato da andbin
    Ma altrimenti in generale per JList devi "parlare" direttamente con il model. E qui dipende quale model, se uno tuo o uno di default es. DefaultListModel (che è "mutabile" e basato su Vector di oggetti) o altro.

    Che vuol dire? (non mi pare chiaro) Vuoi inserire un JList "dinamicamente" in un contenitore dopo che quest'ultimo è già visibile? Basta aggiungerlo al contenitore come al solito (con o senza constraint a seconda del layout) e poi se il contenitore ha un layout manager tipicamente (non è detto) basta un validate() sul contenitore o se non c'è layout manager un repaint() sul componente.
    Provo a spiegarmi..
    Nel costruttore della classe aggiungo i JList, uno per una Tab e uno per l'altra. Il JList della prima tab viene "riempito" all'esecuzione del costruttore (chiamando un metodo che riempie il list), il secondo invece contiene degli oggetti che sono "collegati" al primo.. Puoi immaginare ad esempio che il primo List memorizzi delle Persone ed il secondo List mostri le auto appartenenti ad una Persona. In sostanza, cliccando su una persona nell'altro List voglio mostrare le auto di quella persona.

    Comunque visto che mi hai illustrato i metodo, direi d'aver trovato la soluzione!

    Mi chiedo ancora una cosa comunque..
    Io tutti questi dati li leggo dal DB (MySQL), e in quell'istante creo l'oggetto.. Mi chiedevo se stabilire la connessione al DB in una classe (contenente il main, ed i dati di login al software) e poi passare il riferimento all'oggetto connessione alle altre classi sia una buona idea o se può causarmi problemi di qualsiasi tipo con operazioni future..

    Grazie!! ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.