Forum » Programiranje » java zemljevid EU
java zemljevid EU
cobrica ::
Lep pozdrav, potreboval bi malce pomoči pri izdelavi zemljevida evrove v javi. Vse se dela z paincomponent.
Torej to je koda, v katero je potrebno vstavit kodo, ki bo prikazala zemljevid.
Vsak element tabele predstavlja neki pravokotni košček zemljevida: če določeni košček zaseda neka EU država, hrani element v tabeli zaporedno številko te države, sicer je element enak nič. Vsak element tabele naj bo na vašem zemljevidu predstavljen s pravokotnikom dimenzij, recimo 25x20 pikslov. Za začetek (slika 1) vse države EU izrišite v eni, vse ostalo pa v drugi barvi.
Nato vsako državo izrišite v svoji barvi. Pred izrisovanjem zemljevida najprej zapišite tabelo barv za vse države (elementi v tabeli so torej tipa Color). Barvo (razred Color) si lahko izberete naključno, z naključnimi vrednostmi RGB komponent, ali pa uporabite že definirane barve.
Ob zgornjem desnem koščku vsake države zapišite njeno ime (slika 2). Uporabite g.setFont(new Font("Serif", Font.PLAIN, 16)) za določitev nove pisave in g.drawString("Avstrija", xpos, ypos) za izpis imena države.
Recimo, da število pravokotnikov s številko iste države zadovoljivo predstavlja njeno velikost. Uredite države po velikosti in vrstni red zapišite v tabelo (nizov) z imeni držav. Prve tri izpišite na risalnem oknu.
Naloga se mi zdi precej težka, zato bi prosil za pomoč.
Torej to je koda, v katero je potrebno vstavit kodo, ki bo prikazala zemljevid.
import java.awt.*; import javax.swing.*; /* * Program ob zagonu odpre okno, v katerem se bo * prikazala vasa risba; risbo oblikujete z * risalnimi ukazi v metodi paintComponent(). */ public class PrvaGrafika extends JPanel { /* * main() ustvari in prikaze okno. Spreminjati * je ni potrebno. */ public static void main(String[] args) { JFrame window = new JFrame("Moja prva grafika"); PrvaGrafika canvas = new PrvaGrafika(); canvas.setPreferredSize(new Dimension(800,600)); window.setContentPane(canvas); window.pack(); window.setResizable(false); window.setLocation(150,80); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); } /* * paintComponent() methoda izrise vsebino 800X600 pikslov * velike risalne povrsine, prikazane v oknu. */ protected void paintComponent(Graphics g) { /* tu vpisete kodo s klici risalnih metod, kot npr: * * g.setColor(Color.GRAY); Izbira risalne barve za naslednje risanje * g.fillRect(xpos, ypos, WIDTH, HEIGHT); Izris polnega pravokotnika sirine WIDTH in visine * HEIGHT na poziciji xpos,ypos */ } } int[][] mapEU={ // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0}, //1 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0}, //2 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0}, //3 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 0, 0, 0, 0}, //4 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 0, 0, 0, 0}, //5 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 3, 3, 3, 0, 0, 0}, //6 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 0, 3, 3, 0, 0, 0, 0}, //7 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 0, 3, 0, 0, 0, 0, 0}, //8 { 0, 0, 0, 0, 0,24, 0, 0, 0, 1, 1, 2, 2, 0, 0, 4, 0, 0, 0, 0}, //9 { 0, 0, 0, 0, 0,24, 0, 0, 0, 0, 0, 2, 2, 0, 0, 5, 5, 0, 0, 0}, //10 { 0, 0, 0, 0, 0,24, 0, 0, 0, 0,12, 2, 2, 0, 6, 6, 0, 0, 0, 0}, //11 { 0, 0, 0,25,25,24,24, 0, 0, 0,12, 0, 0, 0, 0, 6, 0, 0, 0, 0}, //12 { 0, 0,25,25, 0,24,24, 0,16,13,13,13, 7, 7, 7, 7, 0, 0, 0, 0}, //13 { 0, 0, 0, 0,24,24,24, 0,16,13,13,13, 7, 7, 7, 7, 0, 0, 0, 0}, //14 { 0, 0, 0, 0, 0, 0, 0,15,15,13,13,13,10,10, 7, 7, 0, 0, 0, 0}, //15 { 0, 0, 0, 0,17,17,17,17,17,14,13,13,10,10, 8, 8, 0, 0, 0, 0}, //16 { 0, 0, 0, 0, 0,17,17,17,17,26,11,11,11, 9, 9, 9, 0, 0, 0, 0}, //17 { 0, 0, 0, 0, 0,17,17,17,17,26,26,18,20, 0, 9, 0, 0, 0, 0, 0}, //18 { 0,21,21,21, 0,17,17,17,17,18,18,18, 0, 0, 0, 0, 0, 0, 0, 0}, //19 { 0,22,22,21,21,21,17, 0, 0, 0,18,18, 0, 0, 0, 0, 0, 0, 0, 0}, //20 { 0,22,21,21,21,21,21, 0, 0, 0, 0,18,18,18, 0, 0,19,19, 0, 0}, //21 { 0,22,21,21,21,21, 0, 0, 0,18, 0, 0, 0,18, 0,19,19, 0, 0, 0}, //22 { 0,22,21,21,21, 0, 0, 0, 0, 0, 0, 0, 0,18, 0, 0,19,19, 0, 0}, //23 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,18, 0, 0, 0, 0, 0, 0, 0}, //24 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,23, 0, 0, 0, 0, 0,19, 0}, //25 };
Vsak element tabele predstavlja neki pravokotni košček zemljevida: če določeni košček zaseda neka EU država, hrani element v tabeli zaporedno številko te države, sicer je element enak nič. Vsak element tabele naj bo na vašem zemljevidu predstavljen s pravokotnikom dimenzij, recimo 25x20 pikslov. Za začetek (slika 1) vse države EU izrišite v eni, vse ostalo pa v drugi barvi.
Nato vsako državo izrišite v svoji barvi. Pred izrisovanjem zemljevida najprej zapišite tabelo barv za vse države (elementi v tabeli so torej tipa Color). Barvo (razred Color) si lahko izberete naključno, z naključnimi vrednostmi RGB komponent, ali pa uporabite že definirane barve.
Ob zgornjem desnem koščku vsake države zapišite njeno ime (slika 2). Uporabite g.setFont(new Font("Serif", Font.PLAIN, 16)) za določitev nove pisave in g.drawString("Avstrija", xpos, ypos) za izpis imena države.
Recimo, da število pravokotnikov s številko iste države zadovoljivo predstavlja njeno velikost. Uredite države po velikosti in vrstni red zapišite v tabelo (nizov) z imeni držav. Prve tri izpišite na risalnem oknu.
Naloga se mi zdi precej težka, zato bi prosil za pomoč.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
! | Naučimo se igrati kitaro (strani: 1 2 3 4 … 13 14 15 16 )Oddelek: Sedem umetnosti | 527414 (359) | Zvezdica27 |
» | MBWE-WL 1 TB nadgradnja na 2 TBOddelek: Pomoč in nasveti | 2119 (1745) | sas084 |
» | Verjetnost pri kroglicahOddelek: Šola | 1614 (1311) | Math Freak |
» | Exel grafOddelek: Programska oprema | 691 (612) | S.Dreamliner |
» | Linux Read only file system ??Oddelek: Operacijski sistemi | 1541 (1500) | 2g00d4u |