Salve a tutti del forum,
Ho fatto un programma formato da un Jpanel dove all'interno vi sono delle JTextField e dei pulsanti, uno per avviare il ciclo FOR (elaborazione dati) e un'altro per uscire dal programma, il classico EXIT.
Il programma, attraverso un ciclo FOR, scansiona un ArrayList<ArrayList<String>> e visualizza i dati nelle JTextField.
In particolare il primo ArrayList rappresenta un record mentre gli item del secondo sono campi di tipo String e i loro valori sono visualizzati nelle JTextField.
Il risultato è che velocemente vengono visualizzate, per ogni ciclo (record), tutti i campi nelle JTextField dall'inizio fino alla fine.
Il problema, che sto ora affrontando, è che in determinati casi, un valore (visualizzato anche da una JTextField) potrebbe essere erroneo e pertanto deve essere corretto inserendo il valore attraverso la JTextBox (la stessa che visualizza i valori) oltre che aggiornare il campo nell'arraylist di quel record.
L'algoritmo che si accorge di questa anomalia è cablata all'interno dello stesso ciclo for e funziona normalmente ossia quando è rilevato l'errore ho il punto di accesso per fare qualcosa.
Al momento, per inserire il nuovo valore, l'ho risolto richiamando, dall'interno dell'algoritmo, una JInputBox che mi consente di inserire il valore corretto, inserisco il valore nell'arraylist del campo associato e a video mentre il ciclo for riprende a funzionare.
Tuttavia, il fatto di dover richiamare una inputbox non mi piace. DOMANDA:
Durante il funzionamento del ciclo for, quando l'algoritmo trova il valore scorretto, come posso sospendere il ciclo stesso per poter inserire il dato nuovo in una JTextField e successivamente, cliccando un pulsante nel JPanel tipo ACETTA, far riavviare il ciclo stesso?
Quello che mi interessa sapere è quale sia la logica da applicare in questi casi.
In passato, con VB6, ero solito inserire una DBGrid che visualizzava tutti i valori e successivamente li andavo ad editare.
Non so se mi sto perdendo in un bicchiere d'acqua o è la stanchezza oppure, più plausibile, semplicemente ignoranza (del resto io ci sono nato!!).
Grazie a tutti, ancor di più per chi risponde!!
cnesan