Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Crtanje poligona pomocu misa

[es] :: Java :: Crtanje poligona pomocu misa

[ Pregleda: 2118 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stryder

Član broj: 106739
Poruke: 54
*.dynamic.isp.telekom.rs.



Profil

icon Crtanje poligona pomocu misa22.02.2011. u 08:41 - pre 160 meseci
Pokusao sam da napravim jednostavan program za crtanje poligona misem. Hteo sam da svaki klik misem zapise koordinate kliknutog mesta u odgovarajucu tacku i onda se samo iscrta poligon sa tim tackama. Na primer, samo 4 tacke kako bih dobio neki cetvorougao.
Shvatio sam da kada se klikne misem negde, te koordinate se upisu u sve 4 tacke, a ne samo u jednu, pa posle u narednu itd. Kako to da resim?

Code:
import acm.graphics.*;
import acm.program.*;
import java.awt.event.*;

public class Pravougaonik extends GraphicsProgram {
    public void run() {
        addMouseListeners();    
    }
    public void mouseClicked(MouseEvent e) {
        GPolygon cetvorougao = new GPolygon();
        cetvorougao.addVertex(e.getX(),e.getY());
        cetvorougao.addVertex(e.getX(),e.getY());
        cetvorougao.addVertex(e.getX(),e.getY());
        cetvorougao.addVertex(e.getX(),e.getY());
        add(cetvorougao);        
    }
}
 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
89.111.240.*



+27 Profil

icon Re: Crtanje poligona pomocu misa22.02.2011. u 12:22 - pre 160 meseci
Code:

public class Pravougaonik extends GraphicsProgram {
    GPolygon cetvorougao = new GPolygon();
    public void run() {
         add(cetvorougao);
         addMouseListeners();    
    }
    public void mouseClicked(MouseEvent e) {        
        cetvorougao.addVertex(e.getX(),e.getY());
    // mozda ga ovde poslije moras repaintovati, nije mi poznat ovaj framework
    }
}
 
Odgovor na temu

stryder

Član broj: 106739
Poruke: 54
*.dynamic.isp.telekom.rs.



Profil

icon Re: Crtanje poligona pomocu misa22.02.2011. u 13:45 - pre 160 meseci
Mislim da nije do repaint-a. Problem mi je samo kako da svaki klik misem tj. njegove koordinate uskladistim u drugu promenljivu. Na ovaj nacin se iste koordinate upisu u sva cetiri temena i dobijam samo tacku.
Moze i neki predlog kako da ovo drugacije resim
 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
*.gtech.rs.



+7 Profil

icon Re: Crtanje poligona pomocu misa22.02.2011. u 16:27 - pre 160 meseci
Hint:
Code:

public class Pravougaonik extends GraphicsProgram {
  private GPolygon cetvorougao;
  private int count = 0;

  public void run() {
    addMouseListeners();    
  }
  public void mouseClicked(MouseEvent e) {
    if (count == 0) {
      cetvorougao = new GPolygon();
    }
    cetvorougao.addVertex(e.getX(),e.getY());
    count++;
    if (count == 4) {
      add(cetvorougao);
      count = 0;
    }
  }
}
 
Odgovor na temu

stryder

Član broj: 106739
Poruke: 54
*.dynamic.isp.telekom.rs.



Profil

icon Re: Crtanje poligona pomocu misa24.02.2011. u 15:38 - pre 160 meseci
To je resenje! Sad kad vidim, deluje krajnje jednostavno, samo se treba setiti :)
Problem je bio sto sam ja sa svakim klikom iznova i iznova pravio novi poligon, a nisam se setio da stavim neki uslov koji bi to onemogucio.
Hvala puno za pomoc!
 
Odgovor na temu

[es] :: Java :: Crtanje poligona pomocu misa

[ Pregleda: 2118 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.