Piirustusohjelma

Tiina Taitava

Yritän tehdä pientä piirto-ohjelmaa javalla. Ihan lähtökuopissa tässä pyöritään, ollaan itse asiassa pyöritty koko ilta. Nyt kuitenkin kaikki keksimäni jutut ja ohjeet läpikäytyäni pyydän teiltä apua. Yritän tehdä nappia, jota painamalla voitaisiin piirtää vapaata viivaa. Mutta ei onnistu. En saa millään konstilla nappiin sellaista koodia aikaiseksi. Nyt koko koodikin on jo ihan sekaisin:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class piirto extends Applet implements ActionListener{
Button a;
int x,y;
public void init(){
add(a = new Button("Piirrä"));
a.addActionListener(this);
}
public void paint(Graphics g){
a.reshape(5,5,50,50);
}
public void actionPerfomed (ActionEvent e){
if (e.getActionCommand().equals("Piirrä")){
Graphics z = getGraphics();
z.fillOval(x,y,20,20);
showStatus("Hiiren sijainti: " x "," y);
}
}
}

..miten tätä siis pitäisi fiksata että tämä alkaisi toimia?
entä miten saisin tehtyä napin, jota painamalla voitaisiin piirtää appletille suora viiva napsauttamalla alku- ja loppukohdassa?

Suuri kiitos jos joku jaksaa neuvoa, noihin kahteen kysymykseen jos saisin vastauksen, alkaisin varmasti päästä juonesta kiinni. Kiitos.

1

303

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • jouman

      tulee varmaan hieman myöhässä, mutta z.drawline(x1,y1,x2,y2) piirtää viivan pisteiden (x1,y1) ja (x2,y2) välille. hiiren koordinaattien selvittämistä en tiedä, saattaapi onnistua jollain MouseMotionListenerillä tai vastaavalla.

      vapaata viivaa voit piirtää esim. tekemällä taulukon (tai arraylistin) viivan pisteille, ja sitten piirtää pisteen taulukon joka pisteeseen. tai jos viivaa ei ole tarvetta muokata myöhemmin (ei undoa), voit vain piirtää pisteen aina, kun hiiren nappi on pohjassa. pistehän on helppo tehdä, joko drawline(x,y,x,y) tai drawrect(x,y,0,0), joista jälkimmäinen siis tekee suorakaiteen, jonka koko on 1 piste.

      koodin virheistä sen verran, ettei tuossa ainakaan x ja y -muuttujille anneta mitään arvoa missään vaiheessa. napin koko kannattaa ehkä asettaa jo init-metodissa. ja silloin metodilla a.setsize(x,y). tai a.setbounds(x,y,x2,y2), joista x ja y ovat sijainti ja x2 ja y2 koko.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. rakastan jotakin

      en uskalla sanoa sitä täällä ääneen
      Ikävä
      11
      3868
    2. Vedonlyöntiä .

      Olen valmis lyömään ison vedon , että homma kaatuu . Jos kerta Sivonen ei lähde mukaan , niin ei tuoho usko kukaan muuka
      Ähtäri
      44
      3626
    3. Mikä on sun mielestä suurin kusetus maailmassa?

      Mikä on sun mielestä suurin kusetus maailmassa?
      Ikävä
      155
      3437
    4. Mikä on pahinta, mitä kaivatullesi

      pelkäät tapahtuvan? Jos kuolemaa, vakavia sairauksia yms. ei lasketa?
      Ikävä
      103
      2735
    5. Turvaan tulleet lähettävät omia lapsiaan vaaraan - hullua

      MOT-ohjelman jakso ”Loma vaihtui kahleisiin” kertoi, kuinka Suomessa ja muualla Euroopassa asuvat somaliperheet lähettäv
      Maailman menoa
      76
      2651
    6. Hei Antti. Minähän varoitin jo 2 v sitten, ettei sinusta tule pääministeriä, vaikka kuinka

      voittaisit vaalit. Vasurit ovat aina puukottaneet toisiaan selkään, eivät koskaan edestäpäin. Marinistit varsinkin IL t
      6
      1848
    7. Minkä tunteen tunnet

      juuri nyt? ap kiitollisuuden.
      Tunteet
      44
      1455
    8. Päivi Räsänen sai kutsun kongressiin todistajaksi.

      Pystyykö Päivi pysymään totuudessa ja kertomaan kongressille, että raamattu ei ole lakikirja jota pitäisi noudattaa poli
      Maailman menoa
      403
      1198
    9. Minkä kouluarvosanan (4-10) annat Thank God, sä tulit! sarjalle?

      Katsoitko Thank God, sä tulit!? Uusi viihdeohjelma ei ollut kaikkien makuun, mutta jotkut tykkäsivät. Minkä kouluarvos
      Tv-sarjat
      59
      1175
    10. Uusnatsien ilkivalta Joensuussa jatkuu.

      Saavat mellastaa persujen suojissa miten haluavat. Särkevät ja tuhoavat toisten omaisuutta, tähän on johtanut persujen m
      Joensuu
      12
      1118
    Aihe