Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-02-2013, 13:16   #1
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
Progetto Java - Minuti e Secondi

Salve a tutti, per informatica io e un mio amico abbiamo deciso di creare la nostra versione del gioco dual n-back:
http://dual-n-back.com/
La mia domanda è come posso programmare un metodo che duri un certo numero di minuti? È possibile? Inoltre quando uso il metodo wait o thread.sleep, come mai questi due vengono sempre eseguiti per primi anche se li metto alla fine del codice?
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 14:48   #2
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
ok forse credo di aver trovato la soluzione, usando il timer della classe java.util.Timer o javax.swing.Timer. Al momento sto cercando di implementare il timer affinché si avvi quando un bottone viene premuto. Consigli?
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 17:35   #3
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
up.
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 20:49   #4
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
Nessuno mi sa aiutare? Ok rispiego il problema. L'interfaccia grafica per ora è molto semplice, ci sono 9 JLabel e un bottone. Quando il bottone viene premuto uno dei 9 JLabel viene colorato. Qui è il problema, come faccio ad implementare un timer che faccia rimanere il JLabel colorato per 3 secondi?
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 21:00   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Usare Timer è una buona idea:
http://docs.oracle.com/javase/6/docs...ing/Timer.html

Registri un ActionListener per il bottone, nel metodo actionPerformed disattivi il bottone, colori la label e fai partire il Timer a cui avrai associato un altro ActionListener che decolora la label e riattiva il bottone.
Unica nota, devi dire al Timer di scatenare l'evento una volta sola con il metodo setRepeats. Comunque è scritto anche nella documentazione.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 22:12   #6
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
Grazie per la risposta, ma per precisare il bottone deve essere premuto una sola volta e tutto dovrebbe eseguito in modo automatico:
- Premo bottone Start.
- Primo Label viene colorato e rimane colorato per 3 secondi e dopo ridiventa invisibile.
- Secondo Label viene colorato e rimane colorato per 3 secondi e dopo ridiventa invisibile.
- E così via.
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 22:23   #7
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Scusa ma non ho letto il funzionamento del gioco...
Se è come dici allora non usare il metodo setRepeats e ogni volta che viene scatenato l'evento del Timer spegni la label accesa e ne accendi un'altra, senza riattivare il bottone. Quando vuoi fermare il timer basta richiamare il metodo stop.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2013, 22:49   #8
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
Grazie ancora per la risposta, infatti avevo l'impressione che il metodo setRepeats non mi sarebbe servito. Comunque quando creo il timer nei parametri devo inserire quanti secondi voglio e un actionlistener. Quale actionlistener gli passo? Scusa ma sono ancora alle prime armi soprattutto con swing. Potresti farmelo vedere brevemente usando un jbutton?
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2013, 09:13   #9
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Una cosa del genere:
Codice:
ActionListener buttonListener = new ActionListener() {
	public void actionPerformed(ActionEvent evt) {
		button.setEnabled(false);
		... //Colori la prima label
		int delay = 1000; //milliseconds
		ActionListener taskPerformer = new ActionListener() {
			... //Mantieni un riferimento alla label attiva
			public void actionPerformed(ActionEvent evt) {
				... //Decolori la label attiva e ne colori un'altra
				... //Quando vuoi terminare stoppi il timer e riattivi il bottone
			}
		};
		new Timer(delay, taskPerformer).start();
	}
};

button.addActionListener(buttonListener);
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2013, 20:33   #10
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Aggiungo che su Swing puoi leggere l'ottima guida di PGI-Bis:
http://www.hwupgrade.it/forum/showthread.php?t=2005654
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 18:58   #11
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
Grazie mille adesso funziona. Ma ho ancora una domanda come faccio a inserire tutto in un ciclo for? Ci sto provando da un po', però ho si colorano tutti di un colore e poi si decolorano tutti nello stesso momento, quando invece dovrebbe essere una alla volta.
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 19:05   #12
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Qual è l'operazione che dovresti ripetere con un ciclo for?
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 21:40   #13
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
La colorazione e decolorazione dei label.
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 22:29   #14
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Quello è compito dell'ActionListener del Timer.
Codice:
			public void actionPerformed(ActionEvent evt) {
				... //Decolori la label attiva e ne colori un'altra
				... //Quando vuoi terminare stoppi il timer e riattivi il bottone
			}
Il Timer si premura di sollevare l'evento ogni tot secondi. Nel codice di esempio ogni 1 secondo.
Codice:
		int delay = 1000; //milliseconds
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 22:44   #15
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
sì ma le label sono nove, quindi mi serve un ciclo for.
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 22:57   #16
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2780
Guarda, io non ho capito esattamente quello che devi fare.
Quello che ho capito è che ogni tot secondi devi spegnere una label ed accenderne un altra.
Per far questo non ti serve un ciclo for perché ogni qualvolta viene sollevato l'evento del timer puoi spegnere la label attiva e accenderne un'altra.
Se c'è una logica particolare nell'accendere e spegnere le label non l'ho capito.
Se conosci la sequenza a priori potresti mettere le label in una pila prima di far partire il timer e poi, nel timer, sfilarle mano a mano che le accendi/spegni.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 23:04   #17
dwight93
Senior Member
 
L'Avatar di dwight93
 
Iscritto dal: Mar 2012
Città: Zurigo
Messaggi: 393
ok credo di aver capito.
__________________
CPU: AMD FX-8150, Scheda madre: Asus Crosshair V Formula Dissipatore: Antec H2O 920, RAM: Corsair Vengeance 16 GB 1866mhz Scheda video: XFX HD 7970, Alimentatore: Seasonic M12II-750, SSD: Corsair Force3 120GB, Case: IN WIN Maelstrom Big Tower.
dwight93 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
HONOR 500 Pro, scheda tecnica confermata...
GeForce NOW si prepara a vivere un mese ...
Exynos 2600: temperature più bass...
Apple si ispirerà a Nothing? Back...
Da Intel ad AMD, il grande salto di Kulk...
Velocità 12 volte superiore a que...
Una piccola Morte Nera è gi&agrav...
Sei frodi che minacciano gli utenti nel ...
BioShock 4: Take-Two rassicura sullo svi...
Tesla, Musk promette FSD 'quasi pronto' ...
BioWare conferma: il nuovo Mass Effect &...
5 robot aspirapolvere di fascia alta in ...
Xiaomi Redmi Note 14 5G a 179€ è ...
Veri affari con gli sconti de 15% Amazon...
Tutti gli iPhone 16 128GB a 699€, 16e a ...
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: 06:51.


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