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

381

Äänestä

    Vastaukset 1

    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. Orpo pelästyi, kun asiat tulivat ilmi ? Hallitus ei enää tuekaan Garden hanketta

      Pääministerinä Orpo on vastuussa hallituksensa päätöksenteosta. Hallitus päätti avokätisestä tuesta hankkeelle, joka ei
      Kansallinen Kokoomus
      457
      2067
    2. Ei käy sääliksi sitä miestä

      Sitä saa mitä tilaa.
      Ikävä
      163
      1357
    3. Mitähän ajattelet

      Nykyään minusta tai meistä tai tapahtuneista?
      Ikävä
      76
      1222
    4. Olet kuin minä

      Jännä huomata tämä kerta toisensa jälkeen eikö ❤️
      Ikävä
      94
      1203
    5. Mitä kaivattusi

      pelkää? 👻
      Ikävä
      114
      1157
    6. Miksi naiset tuoksuvat vaihdevuosien tietyssä vaiheessa todella etäännyttäviltä

      Mietin tätä, onko luojalla ollut jokin tarkoitus näin voimakkaan lemun aikaan tekemiselle. Monet ajattelevat miten joku
      Sinkut
      187
      1133
    7. Hankkikaa elämä

      Tiedetään että hän on mielenkiintoinen mutta rajansa kaikella.
      Ikävä
      100
      793
    8. Voisitko mies auttaa..

      Ottaisit yhteyttä vielä kerran, jos haluat? 🤔 Jätäthän ilkeät kommentit pois.
      Ikävä
      58
      766
    9. Sinun silmiisi kun

      Katson niin ymmärrän sen. 👁️👁️👀
      Ikävä
      47
      753
    10. En ehkä onnistu siinä

      Kovasti minä yritän näyttää kauniilta, vain sinua varten, mutta en taida onnistua siinä.
      Ikävä
      58
      695
    Aihe