Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    4

    Più JSpinners indipendenti l'uno dall'altro

    Ciao! Dunque provo a spiegarmi il mio problema: devo implementare un programmino Java e nella mia interfaccia ho messo un pannello e dentro ci devo mettere una "cascata" di campi tutti uguali:
    QUANTITA' | DESCRIZIONE | PREZZO | TOTALE
    per implementare la quantità ho messo in cascata tanti JSpinner il problema è che quando faccio partire il programma se ne incremento uno si incrementano tutti come se fosse lo stesso e non capisco perchè?? Ho provato a guardare un po' in giro per vedere se qualcuno aveva mai incontrato questo tipo di problema ma non ho trovato gran che...

    questo è il codice:

    codice:
    public class Pannello extends JPanel {
          //......
          public Pannello(List menu) {
                // variabili mie 
                ...
                SpinnerModel model =
    	        new SpinnerNumberModel(0, //initial value
    	                               0, //min
    	                               100, //max
    	                               1);                //step
    		JSpinner spinner = null;
                  //... altre operazioni vaire
                 ....
                for (int i = 0 ; i < menu.length(); i++){ //questa è una variabile lista da dove prendo
                                                         // i  valori da inserire nella descrizione e prezzo ma per
                                                        // il mio problema non interessa... 
    			.....
    			spinner = new JSpinner(model);
    			spinner.setSize(preferredSize);
                            ...
    			add(spinner,c);
    				
    			....
                 }
          }
    }
    grazie!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Chiaro... tutti i tuoi JSpinner usano lo stesso identico riferimento all'unico SpinnerModel.

    Quindi, modificando uno degli JSpinner, vai a modificare l'unico SpinnerModel, che riflette la modifica su tutti gli JSpinner che lo usano.

    Dovrai creare uno SpinnerModel per ciascuno JSpinner. Porta dentro al for la creazione del model:

    codice:
    for( ... ) {
       model = new SpinnerNumberModel(0, //initial value
    	                               0, //min
    	                               100, //max
    	                               1);                //step
       spinner = new JSpinner( model );
       spinner.setSize( preferredSize );
       ...
       add(spinner, c);
       ...
    }
    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
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    4

    risolto!

    Ha ecco!! pensavo che il modello fosse comune... ok 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.