|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2002
Città: Rovigo
Messaggi: 343
|
[java] partenza e arresto trammite tastiera
Salve a tutti.
Sto programmando un datario con incorporato un orologio e non conosco il medodo da usare per poter far arrestare il ciclo che incrementa il contatore dell'orologio mediante un input da tastiera. Io per ricevere gli imput da tastiera utilizzo la classe Text di questo pacchetto: http://dm.unife.it/Linguaggi2/sorgenti/javagently.zip Per poter fermare il ciclo si potrebbe provare con qualche thread... forse.... dico forse xkè non so cosa usare. La parte di codice interessata è più o meno così: while(true) { try { Thread.sleep(100);//precisione al decimo di secondo clock.timeTick(); System.out.println(clock.getTime()); } catch ( InterruptedException e ) { System.out.println("OPERAZIONE NON ESEGUIBILE") ; break; } }
__________________
Cuore sportivo IN OLANDA E' LEGALE!!!! "...sempre onti anca cola patente a ponti" |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Dovresti cambiare quel "while(true)" in un "while(attivo)" dove "attivo" è una variabile "boolean", preferibilmente con accesso pubblico e statico (così da poterla controllare direttamente nel main).
Poi inserisci da qualche parte nel codice una cosa come quella nell'esempio che segue (QueueRaptor non è altro che un ascoltatore di eventi con le orecchie molto lunghe): Codice:
public class MainClass {
public static void main(String[] args) {
final int STOP_KEY=KeyEvent.VK_F1;
class QueueRaptor extends EventQueue {
public void dispatchEvent(AWTEvent e) {
if(e.getID()==KeyEvent.KEY_PRESSED &&
((KeyEvent)e).getKeyCode()==STOP_KEY) {
System.exit(0);
}
super.dispatchEvent(e);
}
};
Toolkit.getDefaultToolkit().getSystemEventQueue().push(new QueueRaptor());
new JFrame().show();
}
}
&Ciao. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:28.



















