Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-04-2006, 10:51   #1
Slashjr
Member
 
L'Avatar di Slashjr
 
Iscritto dal: Apr 2005
Città: Viterbo
Messaggi: 282
JAVA... JProgressBar Problema

Ho un problema con l'aggiornamento del componente JProgressBar, ecco il codice:

...
int con = 0;
int cont = 1;
progressBar.setValue(con);
while(con <= 10){
cont = 0;
while(cont <= 500000000){
cont++;
}
progressBar.setValue(con);
con++;
System.out.println("Numero: "+con);
System.out.println("Bar: "+progressBar.getValue());
}
System.out.println("Fine");
...

Non funziona come dovrebbe l'aggiornamento della barra JProgressBar, ora vi spiego meglio:
La barra è stata suddivisa in 10 parti ed in base al parametro che gli viene passato con la varibile "con" si dovrebbe colorare, ma non è così:

con = 0 La barra non è colorata, quindi OK
con = 1 La barra dovrebbe avere la prima parte colorata ma niente
con = 2 La barra dovrebbe avere la prima parte ancora più colorata ma niente
con = ...
Con = 10 La Barra è tutta colorata quindi OK

Ho messo:
System.out.println("Numero: "+con);
System.out.println("Bar: "+progressBar.getValue());
Per vedere il valore di "Bar: "+progressBar.getValue() ed è Ok, ma la barra durante l'esecuzione sembra bloccata, si aggiorna solo alla fine.

Come posso far aggiornare la barra in maniera corretta, cioè ad ogni aggiornamento del parametro "con"?

GRAZIE AMICI
__________________
GUNS N'ROSES and VELVET REVOLVER FORUM!! CONFIGURATION: MOBO: Asus a8n-sli deluxe(Bios 1016); PROCESSOR: AMD Opteron 180 Toledo X2 VIDEO CARD (SLI): Asus extreme EN6600GT 128MB + Albatron Trinity 6600GT 128MB; RAM: 2*512 King(da cambiare); POWER SUPPLY: 550watt; CASE: Aerocool Aeroangine Gamer Case (+4ventole+5neonBlu ) HDD: Seagate 160Gb Jr. MOUSE: Razor DiamonBack JOYPAD: Trust Predator CONSOLE: PSP Slim CELL: Nokia N96 NOTEBOOK: Acer TravelMate 5520G
Slashjr è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2006, 11:11   #2
vegeta83ssj
Senior Member
 
L'Avatar di vegeta83ssj
 
Iscritto dal: Feb 2002
Città: Modena
Messaggi: 592
Premetto che non ho mai utilizzato questo componente ma puoi dire come l'hai inizializzato ?
Perchè leggendo la documentazione dovrsti impostare il valore min e max della barra all'atto della creazione!
Cmq qui: http://java.sun.com/docs/books/tutor.../progress.html
c'è il tutorial della Sun sulle progress bar!

Ciauz
vegeta83ssj è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2006, 08:14   #3
Slashjr
Member
 
L'Avatar di Slashjr
 
Iscritto dal: Apr 2005
Città: Viterbo
Messaggi: 282
Quote:
Originariamente inviato da vegeta83ssj
Premetto che non ho mai utilizzato questo componente ma puoi dire come l'hai inizializzato ?
Perchè leggendo la documentazione dovrsti impostare il valore min e max della barra all'atto della creazione!
Cmq qui: http://java.sun.com/docs/books/tutor.../progress.html
c'è il tutorial della Sun sulle progress bar!

Ciauz
Intanto grazie per avermi risposto!!!

Alllora il componente è correttamente visualizzato nella gui, il problema è il suo aggiornamento. Cmq:

Prima è stato dichiarato nella classe che estende il JFrame così:

private JPanel benchPanel;
private JLabel vediamoLabel;
private JProgressBar progressBar;
private JButton startButton;
private JButton exitBenchButton;

Poi è stato costruito:

benchPanel = new JPanel();
vediamoLabel = new JLabel("Avvia");
progressBar = new JProgressBar(0,10);
startButton = new JButton("START", new ImageIcon(cl.getResource("images/gen.gif")));;
exitBenchButton = new JButton("EXIT", new ImageIcon(cl.getResource("images/chiudi.gif")));
benchPanel.add(vediamoLabel);
benchPanel.add(progressBar);
benchPanel.add(startButton);
benchPanel.add(exitBenchButton);
benchPanel.setVisible(false);
....
contpane.add(benchPanel);

E poi il codice che avevo postato all'inizio è messo nel Listener

private class startButtonListener implements ActionListener {
public void actionPerformed (ActionEvent er) {

Tutti gli altri componenti swing funzioname benissimo... è solo questa cavolo di Barra che non funziona come dovrebbe!!!
__________________
GUNS N'ROSES and VELVET REVOLVER FORUM!! CONFIGURATION: MOBO: Asus a8n-sli deluxe(Bios 1016); PROCESSOR: AMD Opteron 180 Toledo X2 VIDEO CARD (SLI): Asus extreme EN6600GT 128MB + Albatron Trinity 6600GT 128MB; RAM: 2*512 King(da cambiare); POWER SUPPLY: 550watt; CASE: Aerocool Aeroangine Gamer Case (+4ventole+5neonBlu ) HDD: Seagate 160Gb Jr. MOUSE: Razor DiamonBack JOYPAD: Trust Predator CONSOLE: PSP Slim CELL: Nokia N96 NOTEBOOK: Acer TravelMate 5520G
Slashjr è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2006, 07:07   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Ciao,
il problema sembrerebbe che, se metti quel ciclo for all'interno della actionPerformed, non dai tempo alla JVM di rinfrescare lo stato della tua progress bar. Quando fai un setValue(), la barra NON viene rinfrescata (cioe' ridisegnata), ma viene messo in coda un comando di rinfresco, il quale verra' eseguito quando il controllo passa ancora alla Virtual Machine.
Nel tuo caso, il controllo ci passa quando hai finito il ciclo, per cui vedi la barra passare da vuota a completamente piena.

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2006, 08:21   #5
Slashjr
Member
 
L'Avatar di Slashjr
 
Iscritto dal: Apr 2005
Città: Viterbo
Messaggi: 282
Quote:
Originariamente inviato da sottovento
Ciao,
il problema sembrerebbe che, se metti quel ciclo for all'interno della actionPerformed, non dai tempo alla JVM di rinfrescare lo stato della tua progress bar. Quando fai un setValue(), la barra NON viene rinfrescata (cioe' ridisegnata), ma viene messo in coda un comando di rinfresco, il quale verra' eseguito quando il controllo passa ancora alla Virtual Machine.
Nel tuo caso, il controllo ci passa quando hai finito il ciclo, per cui vedi la barra passare da vuota a completamente piena.

High Flying
Sottovento
Analisi PERFETTA!!!
... ma c'è una soluzione a questo?
__________________
GUNS N'ROSES and VELVET REVOLVER FORUM!! CONFIGURATION: MOBO: Asus a8n-sli deluxe(Bios 1016); PROCESSOR: AMD Opteron 180 Toledo X2 VIDEO CARD (SLI): Asus extreme EN6600GT 128MB + Albatron Trinity 6600GT 128MB; RAM: 2*512 King(da cambiare); POWER SUPPLY: 550watt; CASE: Aerocool Aeroangine Gamer Case (+4ventole+5neonBlu ) HDD: Seagate 160Gb Jr. MOUSE: Razor DiamonBack JOYPAD: Trust Predator CONSOLE: PSP Slim CELL: Nokia N96 NOTEBOOK: Acer TravelMate 5520G
Slashjr è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2006, 09:03   #6
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Slashjr
Analisi PERFETTA!!!
... ma c'è una soluzione a questo?
Beh si,
immagino che il tuo programma fosse di prova (hai un ciclo che continua ad incrementarsi all'interno di una actionPerformed...).

Cmq non devi fare quelle operazioni in quella sede! Nella actionPerformed devi semplicemente ATTIVARE qualcun altro. Per esempio, potresti lanciare un thread che fa le operazioni che ti interessano, oppure fare una notify() ad un thread gia' in esecuzione.
Non e' una cosa difficile, e le modifiche richieste, se ci pensi, non sono eccessive.
Ogni volta che sei un una actionPerformed (non solo quella), la GUI non e' responsiva...


High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2006, 18:56   #7
Slashjr
Member
 
L'Avatar di Slashjr
 
Iscritto dal: Apr 2005
Città: Viterbo
Messaggi: 282
Quote:
Originariamente inviato da sottovento
Beh si,
immagino che il tuo programma fosse di prova (hai un ciclo che continua ad incrementarsi all'interno di una actionPerformed...).

Cmq non devi fare quelle operazioni in quella sede! Nella actionPerformed devi semplicemente ATTIVARE qualcun altro. Per esempio, potresti lanciare un thread che fa le operazioni che ti interessano, oppure fare una notify() ad un thread gia' in esecuzione.
Non e' una cosa difficile, e le modifiche richieste, se ci pensi, non sono eccessive.
Ogni volta che sei un una actionPerformed (non solo quella), la GUI non e' responsiva...


High Flying
Sottovento

Giusto... proverò mettendo le cose in thread differenti, poi se la cosa non funziona potrei anche usare un sleep() sui thread così darei alla GUI il tempo per aggiornarsi.
__________________
GUNS N'ROSES and VELVET REVOLVER FORUM!! CONFIGURATION: MOBO: Asus a8n-sli deluxe(Bios 1016); PROCESSOR: AMD Opteron 180 Toledo X2 VIDEO CARD (SLI): Asus extreme EN6600GT 128MB + Albatron Trinity 6600GT 128MB; RAM: 2*512 King(da cambiare); POWER SUPPLY: 550watt; CASE: Aerocool Aeroangine Gamer Case (+4ventole+5neonBlu ) HDD: Seagate 160Gb Jr. MOUSE: Razor DiamonBack JOYPAD: Trust Predator CONSOLE: PSP Slim CELL: Nokia N96 NOTEBOOK: Acer TravelMate 5520G
Slashjr è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2006, 06:26   #8
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Slashjr
Giusto... proverò mettendo le cose in thread differenti, poi se la cosa non funziona potrei anche usare un sleep() sui thread così darei alla GUI il tempo per aggiornarsi.
Non preoccuparti, se fai le operazioni in thread differenti e' tutto ok.
La sleep, invece, potrebbe non risolverti le cose (resti comunque fermo nella actionPerformed(), per cui la GUI non puo' rinfrescare).

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
Laowa 8-15mm f/2.8 FF Zoom Fisheye &egra...
PS5: il presidente di Capcom critica il ...
La mirrorless Nikon Z6III si aggiorna gr...
Philips punta ai creativi con un nuovo m...
Sharkoon estende la durata delle garanzi...
Acer presenta il suo Google TV Box 4K: t...
Amazon, il TAR del Lazio riduce la maxi-...
Guerra dei semiconduttori: ecco perch&ea...
Intel forse ci riprova: Arrow Lake Refre...
Il passaggio a Windows 11 è compl...
Microsoft Editor chiude: estensioni per ...
Nuova Volkswagen T-Roc, aperti gli ordin...
Tutte le novità di Codex: l'agent...
Word salverà i file in cloud in a...
WhatsApp Android Beta: nuova gestione de...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:59.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v