Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [JAVA - Swing] JList

  1. #1
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418

    [JAVA - Swing] JList

    Ciao a tutti, come faccio a prelevare tutti gli element di una JList?

    Ho provato con getSelectedValue().toString() solo che prelevo solo l'ultimo, io invece vorrei prelevarli tutti, come devo fare?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  2. #2
    vediamo se ho capito... :master:
    tu cerchi di selezionare n elementi da una JList ma ti seleziona solo l'ultimo?

    Prova con il metodo
    Object[] getSelectedValues();

    Se invecie volevi estrarre proprio tutti gli elementi di una JList prova ad utilizzare un DefaultListModel

    ed utilizzare il metodo

    Object[] toArray();

    Spero di aver bene interpretato il tuo probl.


  3. #3
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da manuel_b
    vediamo se ho capito... :master:
    tu cerchi di selezionare n elementi da una JList ma ti seleziona solo l'ultimo?

    Prova con il metodo
    Object[] getSelectedValues();

    Se invecie volevi estrarre proprio tutti gli elementi di una JList prova ad utilizzare un DefaultListModel

    ed utilizzare il metodo

    Object[] toArray();

    Spero di aver bene interpretato il tuo probl.

    Si io infatti ho utilizzato questo String name= listModel.getElementAt(listFiles.getSelectedIndex( )).toString();

    solo che non so gestire il Object[] toArray();
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  4. #4
    Object[] toArray();
    ti serviva nel caso in cui tu volessi estrarre TUTTI gli elementi della JList (sia quelli selezionati sia quelli non selezionati) ma mi pare che non sia questo il caso che ti interessa.


    Se vuoi selezionare tutti gli elementi selezionati credo basti

    Object[] o = listFiles.getSelectedValues();

    e poi fai un cast da Object a String degli elementi che ti servono

    Ho provato con getSelectedValue().toString() solo che prelevo solo l'ultimo
    getSelectedValue() legge solo 1 elemento mentre getSelectedValues() legge tutti gli elementi selezionati e li scrive in un array di Object


  5. #5
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da manuel_b
    Object[] toArray();
    ti serviva nel caso in cui tu volessi estrarre TUTTI gli elementi della JList (sia quelli selezionati sia quelli non selezionati) ma mi pare che non sia questo il caso che ti interessa.


    Se vuoi selezionare tutti gli elementi selezionati credo basti

    Object[] o = listFiles.getSelectedValues();

    e poi fai un cast da Object a String degli elementi che ti servono



    getSelectedValue() legge solo 1 elemento mentre getSelectedValues() legge tutti gli elementi selezionati e li scrive in un array di Object

    premessa
    Forse mi sono spiegato male, io voglio prelevare tutti gli elementi sia quelli selezionati che non.

    inoltre come si fa il cast degli elementi da Object a String?

    grazie per l'aiuto.
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao.. secondo me potresti fare una cosa del tipo:

    ListModel modello = miaJlist.getModel();
    int dimensione = modello.getSize();
    String[] elementi = new String[dimensione];
    for ( int i = 0; i < dimensione; i++ ){
    elementi[i] =( String )( modello.getElementAt(i) );
    }

    E' probabile che ci sia un altro metodo... ma non lo conosco... ovviamente se c'è 1 alternativa imparerò 1 altra cosa, il che è sempre buono.... ciao

    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #7
    Forse mi sono spiegato male, io voglio prelevare tutti gli elementi sia quelli selezionati che non.
    Ohhh finalmente ci siamo spiegati !

    Come dice Angelo va bene, se però ne hai la possibilità, prova ad utilizzare per esempio la classe

    DefaultListModel Vedi documentazione SUN

    che implementa ListModel e che in più ha il metodo

    Object[] toArray() Vedi documentazione SUN

    e che ti permettere di scrivere una cosa del genere:

    Object o[] = miaListModel.toArray(); // ricava tutti gli oggetti
    String elencoNomi[] = (String[])o; // cast


    PS: se (per caso) hai implementato una tua listModel fatta ad hoc, puoi provare ad ereditare da DefaultListModel

    Spero di essere stato abb. chiaro

    Salutoni, Manuel

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 © 2024 vBulletin Solutions, Inc. All rights reserved.