

Java, odeslání pole do jiného classu
Ahoj, potřeboval bych poradit, jak dostat jedno pole z classu A, do classu B.
Vůbec mě nenapadá jak na to, díky za radu.
Ahoj, potřeboval bych poradit, jak dostat jedno pole z classu A, do classu B.
Vůbec mě nenapadá jak na to, díky za radu.
Zpět do poradny Odpovědět na původní otázku Nahoru
Specifikuj, co myslíš tím "poslat" pole...
Děkuji za odpovědi.
Poslat pole, tím myslím:
Mám 2 class soubory.
Soubor A zobrazuje JFrame okno a soubor B načítá data z txt souboru a podle tich dat vytvoří pole.
Já bych potřeboval to pole ze souboru B zpřístupnit pro práci v souboru A.
Pole je formátu Shape[] kraje = new Shape[13];
Normálně si předáš referenci.
To slovo mi něco říká, nicméně, nevím co znamená.
Příklad:
Ve třídě, která to načítá ze souboru, budeš mít metodu:
V další třídě budeš mít:
Evidentně neznáš naprosté základy.
Raději vracej kopii pole. Aby ostaní třídy nemohli měnit původní pole. Použij System.arraycopy().
To jde o způsob použití. Pokud se to má v jedné třídě načíst a ve druhé používat, tak je zbytečné dělat kopii.
Zalezi, co pise. Jestli si pise jenom nejakou hovadinu pro sebe, tak je to asi jedno. Kdyz ale navrhuje nejaky verejny interface, tak je lepsi vracet vsude kopie objektu (poli, kolekci apod.), aby byla zajistena imutabilita. Samozrejme, ze to neni jenom o tomhle, ale je to dobry zacatek...
K tomu, abych dělal nějaký veřejný interface mám rozhodně daleko, je to práce do školy.
Kódy jsem přiložil do přílohy.
Vysvětlím oč mi jde:
Soubor HlavniOkno zobrazí gui(zatím jen s tlačítkem).
Soubor kraj a zobrazenimapy NAČTE hodnoty z txt souboru kraje_cr, podle kterých vykreslí polygony krajů v čr.
Naházel jsem ty polygony do pole, a to bych rád z přistupnil v HlavniOkno (jelikož s nima budu dále pracovat).
---------------------------------------------
Na internetu jsem našel kód co ukládá pole do souboru(to by asi bylo nejlehčí, ale pouze pole byte.
Mělo by to fungovat tak, že když kliknu na tlačitko, tak se všechny vyplní barvou např, do zelena..
Pokud to budete někdo zkoušet zapínat, tak pozor, cesta k souboru pro kraje_cr je na mou plochu.