Mun ongelmakohta näyttää tältä:
public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("Paina")) { luku1 = Math.random(); luku2 = Math.floor(luku1*1+6); noppa = (int) luku2; Graphics g2 = getGraphics(); g2.drawString(noppa, 50, 100 );
Tossa lopussa on virhe tietenkin, kysyisin siis et mitä mun pitäs laittaa ton drawStringin tilalle et saisin ton noppa muuttujan printattua appletille?
Tää ei ole mikään kaunis ratkaisu, mutta voit tehdä esim. näin.
Ilmeisesti tämäkin käy en ole ihan varma, kun ei ole manuaaleja tässä koneessa.
tämä ilmeisestikin toimii:
g2.drawString((new Integer(noppa)).toString(),50,100);
Tämäkin saattaa toimia, mutta en muista onko tällaista alustusta javassa:
g2.drawString((new String(noppa)),50,100);
g2.drawString(""+noppa,50,100);
Aika rumaa tuokin.
Vaikkei varsinaisesti ole mikään bugi, niin ehkä kannattaisi jättää tuo *1 pois tuosta luku1*1:sta.
joo sain sen jo toimii, mut ny jää ongelmaks se et se tulostaa aina toisen luvun toisen päälle, eli miten appletin saa päivitettyä?
marja se on vaan muuttuja, se ykkönen kuuluu siihen...
nykyään toi kohta näyttää tältä:
if (e.getActionCommand().equals("Paina")) { luku1 = Math.random(); luku2 = Math.floor(luku1*6+1); noppa = (int) luku2; tuloste = Integer.toString(noppa); Graphics g2 = getGraphics(); g2.drawString(tuloste, 50, 100 ); teksti.setText("Uudestaan");
Nyt sain kaikki toimii...
Tarkoitinkin lauseen osaa:
luku1*1
Varmastikin luku1 on muuttuja, mutta tarkoitinkin sitä, ettei mitään muuttujaa ole järkevää kertoa yhdellä (*1).
En minäkään sentään ihan tyhmä ole. :)
Mutta näköjään tuossa uudessa koodissasi se onkin luku1*6. Joten ei mitään siitä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.