Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-02-2013, 12: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, 13: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, 16: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, 19: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, 20:00   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 21: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, 21:23   #7
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 21: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, 08:13   #9
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 19:33   #10
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 17: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, 18:05   #12
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Qual è l'operazione che dovresti ripetere con un ciclo for?
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2013, 20: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, 21:29   #14
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 21: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, 21:57   #16
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
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, 22: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


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Dreamforce 2026: Salesforce punta sulla ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
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: 03:21.


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