Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di yuno
    Registrato dal
    Apr 2010
    Messaggi
    62

    [Java] bottoni che scorrono una lista problema di index

    Ciao a tutti, oggi sarò fuori forma o il freddo mi ha intontito cmq ho un problemino con deli bottoni che mi stanno facendo uscire pazzo con un piccolo bug che si è creato:
    praticamente sono dei bottoni che ti permettono di iterare su una mappa che che ha come chiavi degli interi ora destra button va avanti e sinistra button va indietro, adesso ho messo un unica variabile che diciamo fa da index, e qui totto bene solo che arrivati alla prima posizione mi fa un piccolo bug, premendo prima avanti e poi indietro resta l'index sulla stessa soluzione, qualcuno saprebbe dirmi come risolvere questa cosa su sta cavolata ci ho perso tutta la giornata quasi.... allego un po di codice per spiegarmi meglio:
    codice:
    rivate class MostraSoluzioniAction implements ActionListener {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                BasicArrowButton arrow=(BasicArrowButton)e.getSource();
                
                if(arrow.equals(rightPanl.destraArrow)){
    // avanziamo
                    
                    if(nSolIndex<sol.size()){
    //                    if(nSolIndex==sol.size()-1){ultimSolMostrata=true;}
                        System.out.println(" mostrata destra "+nSolIndex);
                        visualizzaSoluzione(sol.get(nSolIndex));
                        
                        nSolIndex++;
                        
                    }
    
                }else{ 
    //arretriamo essendo un inner class solo io la uso e o destra o è sinistra
                    if(nSolIndex==sol.size()){nSolIndex--;}//se non mettevo questa riga faceva 
    //la stessa nell'ultima posizione
    
                    if(!sol.isEmpty() && nSolIndex>0 && !primaSolMostrata){
                        nSolIndex--;
                        System.out.println("mostrata sinistra "+nSolIndex);
                        visualizzaSoluzione(sol.get(nSolIndex));
                        
                    } 
                }
            }
          }
    qualcuno ha qualche suggerimento?

  2. #2
    Utente di HTML.it L'avatar di yuno
    Registrato dal
    Apr 2010
    Messaggi
    62
    dopo vari tentativi risolto
    grazie a tutti posto la soluzione e magari se qualcuno ha un modo migliore o anche più elegante di procedere sono ben accetti consigli, invece se qualcuno ha lo stesso problema si può aiutare da qui:

    codice:
     private class MostraSoluzioniAction implements ActionListener {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                BasicArrowButton arrow=(BasicArrowButton)e.getSource();
                
                if(arrow.equals(rightPanl.destraArrow)){
    // avanziamo
                   if(sinistraChiamato){nSolIndex++;}
                    if(nSolIndex<sol.size()){
                        System.out.println(" mostrata destra "+nSolIndex);
                        visualizzaSoluzione(sol.get(nSolIndex));
                        nSolIndex++;
                        detstraChiamato=true;
                        sinistraChiamato=false;
                        
                    }
    
                }else{ 
    //arretriamo essendo un inner class solo io la uso e o destra o è sinistra
    
                    if(detstraChiamato){nSolIndex--;}
                    if(!sol.isEmpty() && nSolIndex>0){
                        nSolIndex--;
                        System.out.println("mostrata sinistra "+nSolIndex);
                        visualizzaSoluzione(sol.get(nSolIndex));
                        sinistraChiamato=true;
                        detstraChiamato=false;
                        
                    } 
                }
            }
          }
    ovviamente alcune variabili non sono inizializate qui ma come vedete ho messo due boolean che sono inizializati nel costruttore a falso mi danno un doppio avanzamento o arretramento
    se vengono chiamati i metodi!

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.