Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [JAVA] JList... non eh possibile?? :eek:

    Ciao,
    ma come faccio alle JList ad aggiungere un elemento per volta anche dopo la costruzione???

    Non c'e' un addItem?????

    bye

    GRAZIE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Per aggiungere un nuovo elemento alla JList devi prima costruire un array (o un Vector) contenente tutti gli elementi in essa contenuti, quindi aggiungere l'elemento all'array (o al Vector) e quindi chiamare il metodo setListData() che prende un array o un Vector.
    Dato che non trovo nessun metodo per reperire l'intera lista (a meno di passare per le selezioni ), ti consiglio di tenere una copia dei dati in un array o un Vector
    codice:
    Vector old; // Contiene una copia della lista dei dati
    
    old.add( /* nuovo oggetto */ );
    
    lista.setListData( old );
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Mi sono risposto da solo (si puo ovviamente):

    The default model for a list does not allow the addition and removal of items. The list must be created with a DefaultListModel.

    // Create a list that allows adds and removes
    DefaultListModel model = new DefaultListModel();
    JList list = new JList(model);

    // Initialize the list with items
    String[] items = {"A", "B", "C", "D"};
    for (int i=0; i<items.length; i++) {
    model.add(i, items[i]);
    }

    // Append an item
    int pos = list.getModel().getSize();
    model.add(pos, "E");

    // Insert an item at the beginning
    pos = 0;
    model.add(pos, "a");
    This method replaces an item:


    // Replace the 2nd item
    pos = 1;
    model.set(pos, "b");
    These methods are used to remove items:


    // Remove the first item
    pos = 0;
    model.remove(pos);

    // Remove the last item
    pos = model.getSize()-1;
    if (pos >= 0) {
    model.remove(pos);
    }

    // Remove all items
    model.clear();



    Il problema ora e' che se non riesco ad aggiungere la barra di scorrimento: io faccio cosi this.getContetPane().add(new JScrollPane(Lista)) ma non va!! come fo?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Beh... io faccio così e funziona(però non uso LayoutManager e ridefinisco le dimensioni a mano):
    codice:
    jsp = new JScrollPane(lista);
    jsp.setBounds(50, 50, 100, 130);
    
    getContentPane().add(jsp);
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Originariamente inviato da LeleFT
    Beh... io faccio così e funziona(però non uso LayoutManager e ridefinisco le dimensioni a mano):
    codice:
    jsp = new JScrollPane(lista);
    jsp.setBounds(50, 50, 100, 130);
    
    getContentPane().add(jsp);
    Ciao.

    fatto, funziona... mah adesso la finestra di e ingrandita :master: o solo aggiunto il JList con scrollpane
    (il layout e di tipo grid in un jpanel!)

    Come faccio ad evitare che i componenti si ridimensionino per riempire la finestra?

    grazie ico

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Per evitare che il componente si ridimensioni per riempire la finestra ci sono 2 modi: cambiare il LayoutManager (sinceramente non so quale potrebbe andarti bene) oppure rimuoverlo del tutto:
    codice:
    getContentPane().setLayout(null);
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    ma cosi devo gestire io tutto del layout?? posizione degli oggetti??? e altro?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Posizione e dimensioni.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Grazie tante!!
    Se ti serve qualcosa di perl fai un fischio!!

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da FreeManX
    Se ti serve qualcosa di perl fai un fischio!!
    Non mancherò!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.