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.
Piirustusohjelma
1
356
Vastaukset
- 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
Kiky-maksuista valehtelu persujen törkein vaalipetos
Perusduunarina koen pahimmaksi persujen vaalipetokseksi "työmies" Putkosen lupaaman työntekijöiltä perittävien kiky-maks725826Persujen kannatusromahdus ilahduttaa
Siin' ei hyvä häviä. Luotto parempaan tulevasuuteen alkaa taas palautua.894170Onko Sdp:n romahdus pienpuolueeksi alkanut?
Mikään puolue ei kykene selviytymään loputtomasti, jos sitä repii jatkuvasti sisäiset ristiriidat ja kyvyttömyys päättää923614- 1183011
En malta odottaa, että Lindtman pääsee suhmuroimaan pääministerinä
kun pitää sopeuttaa 10 miljardin edestä, ja eläkkeisiinkin voidaan puuttua Antin mielestä. (Demarien kannattajissa suuri722551Pitkän päivän ilta
Tarina elämättömästä miehestä, jonka elämän täytti velvollisuudentunto. Pikkutarkka, huolellinen, hyvällä katsottu, miel1112016Totuus sattui demareihin, vaativat asiallisen jutun poistoon
ja oli vielä suosittu, mutta kun demarit tarpeeksi valittivat, niin poistettiin. Raukkamaista toimintaa. Eli siis juttu451868Avopuoliso, mies-/naisystävä vai mikä?
Kävin eilen irl keskustelun, joka jätti minut pohtimaan seuraavaa ... millä nimityksellä kutsua henkilöä, jonka kanssa o1321769En selvinnyt ilman naarmuja
Vaikka ehkä kuvittelin sen olevan ilmoitusluonteinen asia, jonka jälkeen kaikki palaa entiselleen ja ilma puhdistuu. Naa131515Mikä ihmeen v&v megastore?
Tulee Pohjoisväylälle. Mitä siellä myydään? Keski-uudessamaassa juttua.11438