Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Lortech
    addikt

    Sziasztok!

    Milyen tömböt/collectiont érdemes használnom, ha lehetőleg String-el szeretnék indexelni egy Foo onbjektumra (van is egy HashMap<String, Foo> map-em) de ezzel az a gond, hogy javadoc szerint nem garantálja a sorrendet. Nekem fontos lenne, hogy ha valamit az 5. helyre rakok, az ott is maradjon. És persze azért lenne fontos, mert fix kapacitással akarom létrehozni, pl egy 10-es tömb, és ahol nincs Foo példány, onnan null-t adjon vissza, de NE hibát! Ugye ezért sem jó a hashmap. Meg jó lenne indexOf(vmi)-re visszatérne hogy hanyadik a sorban. Van egyáltalán ilyen? :) Vagy használjak hashmap-et, és mellé még valamit, ahol string-eket eltárolom, ami a hashmap kulcsainak felel meg. Ha igen, akkor mit?

    Előre is köszönöm a választ!

    Én csinálnék erre egy saját megvalósítást, Map-et implementálva, plusz esetleg közelebbi megvalósítást extendálva. Talán legközelebbi a [LinkedHashMap]. Ennek nincs Indexof -a, a láncolt lista megvalósítás miatt viszonylag költséges lenne nagy elemszámnál.

  • ZeroCool
    csendes tag

    Sziasztok!

    Milyen java frameworkot ajánlotok egy szerveren futó, pókeres program megírásához? Nézegettem, de marha sok van. (Tapestry, ZK, JAT és még milliónyi, ez a 3 pl egész jónak tűnt leírás alapján).
    Web böngésző lenne a GUI a felhasználó számára, és emberek játszanának egymással, tehát nincs MI. A szerver oldali program elemezné is a játékosokat különböző szempontok alapján. Diplomamunkáról van szó, tehát igényesen kéne megcsinálnom, de azért ne a legbonyolultabb frameworkot ajánljátok légyszi:)

    Előre is köszönöm a válaszotokat!
    üdv!
    Revolit

    Szia,

    Én 3 framework-ot tudnék ajánlani, ami az Én véleményen szerint jó. Vaadin (gwt), Adobe Flex (mxml, as3), ExtJS (javascript). Ha már java-ban otthon vagy, akkor szerintem a Vaadin az amit talán leggyorsabban meg tudsz tanulni használni, mert ugye java-ban kell kódolnod. Egy flex-es projektet nagy falat összerakni egy build toollal, és még tanulnod kell as3-mat is. Én a diplomamunkámat Vaadinnal csinálnám (novemberben egy versenyen is azt használtam).
    Ha bármi kérdésed van velük kapcsolatban nagyon szívesen segítek.

    Üdv,
    Dani

  • Lortech
    addikt

    Sziasztok!

    Nem vagyok egy nagy java májer, úgyhogy bocs ha nagy hülyeséget kérdezek :)
    Szóval írok egy progit, aminek van GUI-ja. A panelokhoz a netbeans beépített JPanel Form készítőjét használtam
    Leírom kb a program vázát:

    main{
    ProgramUI ablak = new ProgramUI();
    }

    public class ProgramUI extends JFrame {
    pnJobb = new JobbPanel();
    pnAlso = new AlsoPanel();

    this.add(pnJobb, BorderLayout.EAST);
    this.add(pnAlso, BorderLayout.SOUTH);
    validate();
    }
    }

    na én nekem mondjuk van a pnJobb panelen egy gombom, legyen start. ha rányomok a startra, szeretném meghívni az ablak start() fv-ét. ezt csk úgy tudtam elérni, ha statikusnak deklarálom a ProgramUI start fv-ét, és az osztályfv-t hívom meg. ez így nme az igazi, bár igazából járható út lenne azt hiszem, mert úgyis csak egy példánya van az osztálynak.
    az még jobb lenne, ha nem a pnJobb kezelné az inputot (vagyis ne ott legyen az actionlistener), hanem esetleg az ProgramUI osztály. ez megoldható valahogy? :)

    de általánosságban is érdekelne a kérdés: ha létrehozok egy objektumot, akkor annak az objektumnak minden fv-ét el tudom érni (hacsak nem private...), de mi van, ha én a létrehozott objektumból akarom meghívni a létrehozó objektum fügvényét? azt hogyan csinálom? Tehát kommunikáljon mindkét irányba.

    de általánosságban is érdekelne a kérdés: ha létrehozok egy objektumot, akkor annak az objektumnak minden fv-ét el tudom érni (hacsak nem private...), de mi van, ha én a létrehozott objektumból akarom meghívni a létrehozó objektum fügvényét? azt hogyan csinálom? Tehát kommunikáljon mindkét irányba.

    Szóval alapvetően ilyen szempontból megkülönböztetünk static - osztályszintű és példányszintű függvényt.
    Osztályszintű függvényt az osztály nevén keresztül tudsz meghívni - osztályszintű fgv definícióban nem hivatkozhatsz az osztály példányszintű mezőire illetve fgv-eire, mert azok az osztály egy konkrét előfordulásához, példányához kötődnek.
    Példányszintű függvényt az osztály egy adott példányánának referenciáján keresztül hívhatsz meg.
    Konkrétan a kérdésedre válaszolva, ahhoz szükséged van a "létrehozott" objektumban a létrehozó objektum egy példányára, ill. annak referenciájára. Ezt biztosíthatod úgy, hogy átadod a létrehozott objektumnak paraméterként (pl. konstruktorban), vagy az adott függvénynek, ahonnan hívni akarod a létrehozott objektumot. Bizonyos esetekben az is megoldás lehet, ha a "létrehozott" objektumban példányosítasz a létrehozó objektum típusából - ha nem lényeges az _eredeti_ objektum belső állapota (ált. ezek osztályszintű fgv-ek, de nem feltétlenül). Akár a létrehozott objektum egy mezője is lehet ez a példány, tarthatod ott is a referenciáját.
    A legfontosabb, hogy mielőtt netbeansben egy GUI-t összekattintgatunk, az alapokkal tisztában legyünk.. mert egyszerűnek látszik a felhasználóbarát GUI builder, de ettől még tudni kell java-ban programozni, ha faéknél bonyolultabb programot csinálsz..

  • eziskamu
    addikt

    Sziasztok!

    Nem vagyok egy nagy java májer, úgyhogy bocs ha nagy hülyeséget kérdezek :)
    Szóval írok egy progit, aminek van GUI-ja. A panelokhoz a netbeans beépített JPanel Form készítőjét használtam
    Leírom kb a program vázát:

    main{
    ProgramUI ablak = new ProgramUI();
    }

    public class ProgramUI extends JFrame {
    pnJobb = new JobbPanel();
    pnAlso = new AlsoPanel();

    this.add(pnJobb, BorderLayout.EAST);
    this.add(pnAlso, BorderLayout.SOUTH);
    validate();
    }
    }

    na én nekem mondjuk van a pnJobb panelen egy gombom, legyen start. ha rányomok a startra, szeretném meghívni az ablak start() fv-ét. ezt csk úgy tudtam elérni, ha statikusnak deklarálom a ProgramUI start fv-ét, és az osztályfv-t hívom meg. ez így nme az igazi, bár igazából járható út lenne azt hiszem, mert úgyis csak egy példánya van az osztálynak.
    az még jobb lenne, ha nem a pnJobb kezelné az inputot (vagyis ne ott legyen az actionlistener), hanem esetleg az ProgramUI osztály. ez megoldható valahogy? :)

    de általánosságban is érdekelne a kérdés: ha létrehozok egy objektumot, akkor annak az objektumnak minden fv-ét el tudom érni (hacsak nem private...), de mi van, ha én a létrehozott objektumból akarom meghívni a létrehozó objektum fügvényét? azt hogyan csinálom? Tehát kommunikáljon mindkét irányba.

    Van rá egy nagyon amatör javaslatom. Legyen egy külön osztály, aminek mondjuk egy statikus változója tartalmazza az objektumot (csak legyen időben értékadás :) ), de esetleg a már létrehozáskor is átadhatod magát a hívó objektumot egy új paraméterként (a hívott objektum konstruktorának paraméterlistáját kibővítve).

Új hozzászólás Aktív témák

Hirdetés