Czesc,
napisalem budzik ktory dziala jak powinien tylko wtedy, kiedy obsluguje jeden alarm. Proba obslugi kilku wydarzen jednoczesnie zakonczyla sie fiaskiem. Sypie sie wszystko co tylko moze. Moglby ktos mnie nakierowac w jaki sposob to obsluzyc? I prosilbym o jakis maly code review.
http://www.wklej.org/id/3095071/ //Main
http://www.wklej.org/id/3095072/ //Event
http://www.wklej.org/id/3095073/ //Listener
http://www.wklej.org/id/3095074/ //Stoper
@EDIT:
W startMenu() dodalem while loopa, zeby dwukrotnie ustawic alarm. Watek czeka do wybicia najblizszej ustawionej godziny, dwa razy wyswietla run() z klasy Stopper i rzuca bledami:
TRY TO RE-WRITE: "abecadlo z pieca spadlo i nie wpadlo, o ziemie huklo":
TRY TO RE-WRITE: "abecadlo z pieca spadlo i nie wpadlo, o ziemie huklo":
java.lang.ArrayIndexOutOfBoundsException: 580
at javazoom.jl.decoder.LayerIIIDecoder.huffman_decode(Unknown Source)
at javazoom.jl.decoder.LayerIIIDecoder.decode(Unknown Source)
at javazoom.jl.decoder.LayerIIIDecoder.decodeFrame(Unknown Source)
at javazoom.jl.decoder.Decoder.decodeFrame(Unknown Source)
at javazoom.jl.player.Player.decodeFrame(Unknown Source)
at javazoom.jl.player.Player.play(Unknown Source)
at javazoom.jl.player.Player.play(Unknown Source)
at Listener.run(Listener.java:34)
at java.lang.Thread.run(Thread.java:748)
java.lang.ArrayIndexOutOfBoundsException: 580
at javazoom.jl.decoder.LayerIIIDecoder.huffman_decode(Unknown Source)
at javazoom.jl.decoder.LayerIIIDecoder.decode(Unknown Source)
at javazoom.jl.decoder.LayerIIIDecoder.decodeFrame(Unknown Source)
at javazoom.jl.decoder.Decoder.decodeFrame(Unknown Source)
at javazoom.jl.player.Player.decodeFrame(Unknown Source)
at javazoom.jl.player.Player.play(Unknown Source)
at javazoom.jl.player.Player.play(Unknown Source)
at Listener.run(Listener.java:34)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-2" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at Listener.run(Listener.java:22)
at java.lang.Thread.run(Thread.java:748)