Vaje 4: Risanje grafov
Program iz prejšnjih vaj bomo dopolnili tako, da bo možno graf tudi narisati.
1. Razredu Tocka dodaj realni komponenti x in y. Konstruktor naj njuni vrednosti nastavi na 0.
2. Razredu Graf dodaj metodo razporedi, ki bo točke grafa enakomerno razporedila na krožnico s središčem v točki (x, y) polmera r.
3. Sestavi razred Platno, na katerega bomo risali graf. To bo podrazred razreda JPanel. Vsebuje naj:
- komponento
graf, ki določa, kateri graf je narisan na platnu - konstruktor, ki nastavi velikost platna (širino in višino dobi za parameter) in graf (nastavi ga na
null) - metodo
nastaviGraf(Graf g), ki nastavi nov graf za risanje - metodo
paintComponent(Graphics g), ki nariše graf na grafični objektg(najprej povezave, nato še točke). Videz točk in povezav naj bo določen s komponentamibarvaPovezave,barvaTocke,barvaRoba,debelinaPovezave,debelinaRobainpolmer.V pomoč bo tudi pomožna statična metodaround, ki dano realno število zaokroži na najbližje celo število.
4. Sestavi razred Okno, ki bo podrazred razreda JFrame. Vsebuje naj:
- komponento
platno - konstruktor, ki nastavi naslov okna in platno, na katerega bomo risali (platno je treba vstaviti v okno)
5. Razredu Graf dodaj metodi za branje in shranjevanje grafa na dototeko. Datoteka z opisom grafa naj ima naslednjo obliko:
- najprej za vsako točko navedemo njeno ime in koordinati (n vrstic oblike
ime: x y) - sledi posebna vrstica, ki vsebuje samo tri zvezdice (vrstica
***) - na koncu za vsako točko navedemo imena vseh njenih sosedov (n vrstic oblike
ime: sosed1 sosed2 ...)
main v razredu Test, tako da bo odprla novo okno, v katerem bo narisala nek graf.