Yritän opetella ajastimen käyttöä jbuilderissa.
tarkoitus olisi tehdä esimerkki:
klikataan jbutton1 -> ajastin käynnistyy ja viiden sekunnin välein jlabel1:een kirjoitetaan uusi lukema 1>2>3 jne.
olen ennen ohjelmoinut delphillä ja siinähän on sellainen lomakkeelle raahattava ajastin, johon syötetään interval-arvo ja sitten sillä on valmiit event-tapahtumat. javalla taitaa mennä hieman eri tavalla.
tässä alkaa itsensä tuntemaan tyhmäksi kun on pari tuntia googlettanut esimerkkiä eikä siltikään osaa..
tarkoitus olisi tehdä esimerkki:
klikataan jbutton1 -> ajastin käynnistyy ja viiden sekunnin välein jlabel1:een kirjoitetaan uusi lukema 1>2>3 jne.
olen ennen ohjelmoinut delphillä ja siinähän on sellainen lomakkeelle raahattava ajastin, johon syötetään interval-arvo ja sitten sillä on valmiit event-tapahtumat. javalla taitaa mennä hieman eri tavalla.
tässä alkaa itsensä tuntemaan tyhmäksi kun on pari tuntia googlettanut esimerkkiä eikä siltikään osaa..
Vastaukset 6
Vanhimmat
Ajastettua toimintaa saat vaikka tekemällä säikeen joka nukkuu viisi sekuntia kerrallaan. Etsi luokka Thread ja sieltä metodi sleep.
Edelleen suosittelen käymään läpi Javan alkeita ihan tekstipohjaisina ohjelmina, ennen kuin ryhtyy piirtelemään JBuilderilla graafista käyttöliittymää.
eli tuon thread.sleep:n olen saanutkin toimimaan. mutta en osaa sitä oikein soveltaa siihen että n millisekunnin välein tehtäisiin jotain..
>Edelleen suosittelen käymään läpi Javan alkeita ihan tekstipohjaisina ohjelmina, ennen kuin ryhtyy piirtelemään JBuilderilla graafista käyttöliittymää.
tuo paha taipumus, että kaikki heti ilman osaamista, on tullut delphistä.
kun sehän oli samanlainen tavallaan kuin jbuilder. eli ei tarvitse osata juuri mitään ja voi silti saada toimivan ohjelman.
while(true){
try{
Thread.sleep(5000);
/*Tai jos teet tästä näppärästi erillisen
ajastinluokan(extends Thread),
pelkkä sleep(n) riittää.*/
}
catch(InterruptedException i){
System.out.println("Kuralle meni...!");
}
//Lisää näppylässä olevaan lukuun 1;
}
Kelpaako? Kannattaa käyttää ennemmin jotain muuttujaa tuossa while:ssä, jonka arvoa muutat jossain, muuten tuo pyörii "maailman tappiin asti".
suuret kiitokset koodi-esimerkistä! nyt alan pikkuhiljaa tajuamaan asian :)
Tai käytä javan luokkakirjaston _nimenomaan_ tätä tarkoitusta varten tehtyä luokkaa:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Timer.html
Lukekaa niitä API-dokumentteja, niin ei tartte arvailla..
välillä jo näytti että tuo ajastimen käyttö alkaa onnistua, mutta saan vain sovelluksia, jotka on pakko tappaa xkill:llä.
olisiko kenelläkään jotain ohjelmaa jossa ajastinta käytetään, jbuilderiin?
tosi turhauttavaa kun javan oppiminen etenee muuten hyvin, mutta sitten tulee tuollainen patti-tilanne josta vain ei pääse eteenpäin..