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

grafika-MVC zadatak

[es] :: Java :: grafika-MVC zadatak

[ Pregleda: 1094 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Urosh333
student
Novi Sad, Srbija

Član broj: 280811
Poruke: 1
*.dynamic.isp.telekom.rs.



Profil

icon grafika-MVC zadatak02.03.2011. u 19:16 - pre 159 meseci
Pozdrav svima,
Ovo je zadatak koji bi pod hitno! morao da zavrshim.Jedan deo sam uradio tj. uradio sam podsistem Model i njegove klase, fale mi podsistemi View i Controller.Tu vec ne mogu da se snadjem, mnogo toga mi je nejasno jer sam pochetnik u programiranju.Ako mozhe pomoc oko ovoga, bio bi veoma zahvalan.U nastavku zadatka postavio sam ono shto sam od sada reshio.


..............................................................................................................................................................................................................................................
Zadatak:

Implementirati Java aplikaciju koja omogućava iscrtavanje geometrijskih objekata tačke, linije i pravougaonika.
Toolbar aplikacije treba da pomoću grupe tri iskačuća dugmeta (toggle button) obezbedi izbor vrste objekta koji se crta.
Zavisno od trenutno uključenog dugmeta, korisnik crta na sledeći način.
1. Tačku crta tako što uključi odgovarajuće dugme i klikne na mesto na panelu crteža. Nakon klika na mesto tačke aplikacija iscrtava tačku.
2. Liniju crta tako što uključi odgovarajuće dugme, klikne na mesto početka, a potom i na mesto kraja linije. Nakon klika na mesto kraja linije aplikacija iscrtava odgovarajuću liniju. (napomena: aplikacije mora da ima indikator da li jeste ili nije započeto crtanje linije).
3. Pravougaonik crta tako što klikne na mesto gornjeg levog ugla pravougaonika, nakon čega se automatski prikazuje dijalog za upis širine i visine pravougaonika. Ukoliko se potvrdi unos, aplikacija iscrtava pravougaonik, u suprotnom se ne iscrtava ništa.

Saveti:
1. Razmotriti primenu projektnog obrasca Model-View-Controller.
2. Za realizaciju prikaza izvesti klasu iz JPanel.
3. Pri realizaciji modela koristiti ArrayList ili neku drugu klasu koja implementira interfejs Collection.
4. Za iscrtavanje geometrijskih elemenata, u klasi crteža preklopiti metodu public void paint(Graphics g).

Podsistem MODEL:
Klasa/Interfejs
- Iscrtljiv (obezbeđuje da prikaz na isti način od elemenata traži uslugu iscrtavanja)
- Tacka (informacije o položaju tačke , iscrtavanje tačke)
- Linija (informacije o položaju linije , iscrtavanje linije)
- Pravougaonik (inforamacije o položaju i dimenzijama pravougaonika , iscrtavanje pravougaonika)
- Model (funkcionalnost upravljanja elemenima modela)

Podsistem VIEW:
Klasa/Interfejs
- GlavniProzor (funkcionalnost top-level kontejnera)
- Prikaz (iscrtavanje trenutnog sadržaja modela , osluškivanje događaja interakcije korisnika , prosleđivanje događaja kontroleru)
- Toolbar (omogućava izbor vrste elementa koji se crta)

Podsistem CONTROLLER:
Klasa/Interfejs
- Kontroler (obrada događaja interakcije korisnika , ažuriranje stanja modela , iniciranje osvežavanje iscrtavanja prikaza , indikacija stanja aplikacije (započeta linija ili ne))
- PravougaonikDlg (obuhvat podataka o širini i visini pravougaonika)

.................................................................................................................................................................................................................................................



Do sada uradjeno:


Code:

------------Iscrtljiv.java------------------

package project1;

import java.awt.Graphics;

public interface Iscrtljiv {
void crtaj(Graphics g);

}


------------Tacka.java--------------------

package project1;

import java.awt.Graphics;

public class Tacka implements Iscrtljiv {

int x,y;

public Tacka (int nx, int ny){
x=nx;
y=ny;
}

public int getX(){
return x;
}


public void setX(int nx){
nx=x;
}

public int getY(){
return y;
}

public void setY(int ny){
ny=y;
}

public void crtaj (Graphics g){
g.drawRect(this.getX()-1,this.getY()-1,3,3);
}
}


--------------Linija.java--------------------------

package project1;

import java.awt.Graphics;

public class Linija implements Iscrtljiv {
private Tacka start;
private Tacka end;

public static void main(String[] args) {
}

public Linija(Tacka nstart,Tacka nend) {
start=nstart;
end=nend;
}

public Tacka getStart(){
return start;
}

public void setStart(Tacka newStart){
start=newStart;
}

public Tacka getEnd(){
return end;
}

public void setEnd(Tacka newEnd){
end=newEnd;
}

public String toString(){
return "("+start.getX()+","+start.getY()+");("+end.getX()+","+end.getY()+")";
}
public void crtaj(Graphics g) {
g.drawLine(start.getX(), start.getY(), end.getX(), end.getY());

}
}

-------------------Pravougaonik.java--------------------------------------------

package project1;

import java.awt.Graphics;

public class Pravougaonik implements Iscrtljiv {
private Tacka xy;
private int duzina;
private int visina;

public Pravougaonik(Tacka nxy, int nvisina, int nduzina){

this.xy=nxy;
this.visina=nvisina;
this.duzina=nduzina;
}

public Tacka getXY(){
return xy;
}

public void setXY(Tacka nxy){
xy=nxy;
}

public int getVisina(){
return visina;
}

public void setVisina(int nvisina){
visina=nvisina;
}

public int getDuzina(){
return duzina;
}

public void setDuzina(int nduzina){
duzina=nduzina;
}

public void crtaj(Graphics g){
g.drawRect(xy.getX(), xy.getY(),xy.getX()+duzina, xy.getY()+visina);
}
}

----------------------------Model.java--------------------------------------

package project1;

import java.util.ArrayList;
import java.util.Iterator;

public class Model {
private ArrayList iscrtljiv;

public Model() {
iscrtljiv = new ArrayList();
}

public void dodaj(Object o) {
iscrtljiv.add(o);
}

public Iterator getIterator() {
return iscrtljiv.iterator();
}
}

----------------------------------
Code:


Mnogo bi mi znachila pomoc oko ovoga.
Unapred zahvalan.









/
 
Odgovor na temu

[es] :: Java :: grafika-MVC zadatak

[ Pregleda: 1094 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

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