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

343

    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. Dannysta tulee isä 83-vuotiaana

      Huh huh sentään sellaista naista, joka laitattaa itsensä paksuksi ikälopulle papalle ! Ajatellaanko lapsen oikeuksia oll
      Maailman menoa
      157
      6242
    2. Seida Sohrabi: Suomi ei ole rasistinen maa

      Seidalta taas täyttä asiaa. Miksi punavihreät naiset eivät pysty samaan - no se ideologia estää. "Meillä on valitettava
      Maailman menoa
      217
      3953
    3. Ketkä haukkuu suomalaisten ÄO:tä?

      Siinä on kaksi vaihtoehtoa, joko siis rutiköyhä vajaaälyinen vasuri tai venäläinen. Kyllähän täällä käy suomenvenäläisi
      Maailman menoa
      62
      3307
    4. Henkirikos kiuruvedellä

      Poliisi tutkii maaliskuussa tapahtunutta 50 luvulla syntyneen kuolemaa henkirikoksena. Missä päin tälläinen sattunut
      Kiuruvesi
      69
      2482
    5. Diesel-ammattilainen kehuu Sanna Marinia

      "Sanna Marinin (sd) hallitus loi neljä vuotta sitten väliaikaisen polttoaine­tuki­järjestelmän, kun energianhinnat nousi
      Maailman menoa
      4
      2130
    6. Pitkänperjantain kunniaksi tekoälyn analyysi Riikka Purran kirjoituksesta

      🧠 Mitä se kertoo "riikka"-nimimerkin lähijunassa tapahtuneesta? 1. Asenteellinen ja epäasiallinen sävy: Kirjoitus purs
      Maailman menoa
      4
      2035
    7. 100 prosentin perintövero korjaisi myös Hitas-ongelman

      Moni ei uskalla kieltäytyä perinnöstä maineen menettämisen uhalla, joten sitten tulee näitä tilanteita, joissa joutuu es
      Maailman menoa
      0
      1820
    8. Gallup: Mitä teillä syödään pääsiäisenä, onko juhlaruokaa vai meneekö arkiruoilla?

      Monessa perheessä pääsiäisenä pöytään pistetään vähän parempaa herkkua. Pääruokaan panostetaan ja lisäksi leivotaan vaik
      Liharuoka
      42
      1388
    9. Kunnanjohtaja haista sinä

      Kyvytön johtamaan kuntaa! Täysin kyvytön. Toivottavasti Hattula saa sinut vaivoikseen. Epäpätevä, ammattitaidoton, yhtei
      Heinävesi
      34
      1332
    10. Loimaan k-citymarketilla puukotus

      Jonka on puukotettu Loimaan citymarketilla tänään iltapäivällä noin klo 14. Kuulin kun ambulanssi huusi kaupungilla kun
      Loimaa
      43
      1300
    Aihe