játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5471
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2525

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2194
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Frissebbek | Korábbi postok
[1] > 2 < [3] [4] [5] [6] [7] [8] [9]
Pretender - Törzstag | 2498 hsz       Online status #201674   2014.02.28 12:57 GMT+1 óra  
lol.
Pretender
dob egy általános Exception-t, amit ha nem kapunk el, akkor hibával leáll a program.

Ebből aki legalább egy kicsit is belegondol abba, amit a másik ír az jön le, hogy volt ott egy catch (Exception), mert ha nem lett volna, akkor nem tudnánk, hogy mi a helyzet.

De továbbra is azt mondom, hogy ha azt a 4 exceptiont dobja, akkor azokat dobja. Ne még XY másik dolgot. Vagy írják azt is oda mindenhova, hogy ha egyik eset sem áll fent (bár, nem értem, ha ennyire exceptionöznek, akkor miért nem csináltak minden esetre? ), akkor dobhat még ezt meg ezt.

Az oracle honlapján van a doksi. Ha értelmes linket tudnának adni, akkor be lehetne linkelni ide is...És való igaz, nem vagyok java fejlesztő, és hál'Istennek megtehetem, hogy soha nem is leszek az. Mert nem hiányzik. Nagyon nem.

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201673   2014.02.28 12:55 GMT+1 óra  
Utolsó kommentem a fröcsögésedre, a következő moderálás lesz - ha ez boldoggá tesz, szerintem ilyen szintű vinnyogást más is nagyon szivesen ki fog törölni... Szóval: azért "nagypofázok", mert több, mint 10 éve javaval dolgozó vezető fejlesztő vagyok, ebből tartom el a családom, tehát tudom, mit beszélek. Ezzel szemben te az előbbi kommentedben keverted a szezon a fazonnal (pl. hogy jön az Oracle a Dalvikhoz?) és effektíve felírtad a homlokodra piros betűvel, hogy "Nem vagyok java programozó"...

Továbbá légyszíves emeld ki a kódrészletben, hol kapja el az ismerősöd az "Exception"-t... A többire nem reagálok érdemben, mert nincs értelme...
Dare to imagine!
http://www.insaneidea.hu
   
Pretender - Törzstag | 2498 hsz       Online status #201671   2014.02.28 12:46 GMT+1 óra  
@MaNiAc: Attól,hogy szerkesztő vagy, nem kell nekiállni nagypofázni és átmenni személyeskedésbe, sárdobálásba. Köszi

De ha neked ez a stílus jön be, hát tessék, ilyet mindenki tud

- Ha értelmes ember módjára el tudnád olvasni, amit írok, akkor rájönnél, hogy az Expception IS EL VOLT KAPVA. Érti? Kiemelem még1x, hogy megértsd: AZ EXCEPTION IS EL VOLT KAPVA.

- Igen, valószínűleg igen sok mindent elárul egy Exception önmagában.

- "Általános exception" = Exception.

Idézet
MaNiAc :
- Hogy lehet kideríteni? Hát, abban a hulladékhalmazban, amit írtatok, sehogy... de mondjuk egy
Verdikt: Egy Geri bőven elég - amihez nem értesz, azt ne fikázd. Köszi.


1: Ne szarozd a kódot, amiről fogalmad sincs, hogy milyen. Köszi.
2: Ha az a pár sor, amit beírtam neked szar kód, akkor gratulálok, leülhetsz, 1-es.
3: Semmi közöm nincs ehhez a kódhoz. Ha tudnál olvasni, felfognád, hogy egy ismerősöm kért tőlem segítséget.

Ahogy egyik ismerősöm mondaná: "Ne legyél már hülye vagy!"

Valaki értelmes ember hozzászólására is kíváncsi lennék,MaNiAc csak és egyedül a sárdobáláshoz ért, de ahhoz roppant jó módon. Ha pedig bannolni fog, azzal még több mindent leír önmagáról.

szerk.:
Mellesleg, azért vannak az exceptionök speciális esetei (IOException és társai), hogy azokat dobálják, mert arról már lehet sejteni valamit. Ráadásul még a doksi is megmondja, hogy ezt a 4-et dobja. Ilyenkor - egy normális rendszerben, lásd c++ - feltételezheti az ember, hogy akkor azokat dobja, nem az istennyila általános szart.

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201668   2014.02.28 12:39 GMT+1 óra  
Hát, látod, a JVM7 az beleszarik a sorrendbe... Itt az egyik kollegával arra jutottunk, hogy valszeg olyan szinten aszinkron, hogy még a thread elemeit is több szálban szabadítja fel - valszeg ezért a nemdeterminisztikus sorrend, amit megfigyeltem. Gondolom Oracle-ék arra mentek, hogy ha már muszáj, akkor minél rövidebb ideig tartson a takarítás...

No mindegy, igazából mindkettőnknek igaza van valamilyen szinten - úgy néz ki, tényleg van hatása a System.gc()-nek, de 1) minden JVM-en másképp működik 2) asztali rendszeren (amire én fejlesztek főleg) nemdeterminisztikus és aszinkron, kvázi megbízhatatlan... (Mondjuk még az OpenJDK-s tesztem hátra van, de az már nem lesz világmegváltó szerintem!)
Dare to imagine!
http://www.insaneidea.hu
   
__z - Tag | 71 hsz       Online status #201667   2014.02.28 12:30 GMT+1 óra  
Telefon (Android 2.3.4):
Kód:
System.gc() start
Garbage collected: 9
Garbage collected: 8
Garbage collected: 7
Garbage collected: 6
Garbage collected: 5
Garbage collected: 4
Garbage collected: 3
Garbage collected: 2
Garbage collected: 1
Garbage collected: 0
System.gc() end


Emulátor (Android 4.4.2):
Kód:
System.gc() start
Garbage collected: 0
Garbage collected: 1
Garbage collected: 2
Garbage collected: 3
Garbage collected: 4
Garbage collected: 5
Garbage collected: 6
Garbage collected: 7
Garbage collected: 8
Garbage collected: 9
System.gc() end


Amúgy én kb. olyan kontextusban használom a System.gc() hívást, hogy "ha takarítani akarsz, most csináld", ha mégse takarít, nem jelent a programnak semmilyen hátrányt, pusztán próbálok "előzékeny" lenni. (Olyan ez, mint hogy minden frame/loop végén altatom néhány millisecundum-ig az adott szálat.)
Egyébként, ha jól tudom a vm valahogyan "szintezi" a szemetet és a "legfrissebbeket" távolítja el először (vagy ilyesmi).

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201666   2014.02.28 12:26 GMT+1 óra  
- Nem az Oracle alkotta. (Főleg nem a Dalvik-ot! ) Gondolom azt vágod, hogy a java csak egy specifikáció, aminek a több tucat implementációjából a Dalvik csak az egyik...

- Tehát azért szar a nyelv, mert nem kezelsz le minden hibát? Egészen pontosan milyen az az "általános exception"?

- A linked: [url]http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#Socket(java.net.InetAddress, int)[/url] - arról, hogy a JF.Hu motorja nem eszi meg, nem a java tehet...

- Hogy lehet kideríteni? Hát, abban a hulladékhalmazban, amit írtatok, sehogy... de mondjuk egy
Kód:
catch (Exception e) {
  e.printStackTrace();
}

sokat segít...

- Az, hogy az NPE-t megpróbálod elkapni, de a sima Exceptiont (vagy akár Throwable-t!) nem, sok mindent elmond...

Verdikt: Egy Geri bőven elég - amihez nem értesz, azt ne fikázd. Köszi.

Ezt a hozzászólást MaNiAc módosította (2014.02.28 12:33 GMT+1 óra, ---)
Dare to imagine!
http://www.insaneidea.hu
   
Pretender - Törzstag | 2498 hsz       Online status #201665   2014.02.28 12:10 GMT+1 óra  
Segítséget kért tőlem egy ismerősöm, de így látatlanban nem tudtam elég jól behatárolni. Ráadásul nevetséges, amit ez a Java művel, de ebbe most ne menjünk bele.
Kód:
Log.i(LOG_TAG, "1");
try {
    client = new Socket(serverAddr, port);
} catch (IOException ex) {
} catch (SecurityException ex) {
} catch (IllegalArgumentException ex) {
} catch (NullPointerException  ex) {
}
Log.i(LOG_TAG, "2");

Ez androidos telefonján működik, egy trekstor surftab xiron 7.0 HD tableten viszont elszáll. A catch-ek belsejében szintén van valami logolás, hogy lehessen látni, hogy melyikbe fut bele. Hát... egyikbe sem.

A doksi azt állítja, hogy ezeket az expceionöket dobja. És nem, dob egy általános Exception-t, amit ha nem kapunk el, akkor hibával leáll a program.

Ebben a hulladékhalmazban, hogy lehet ilyenkor kideríteni, hogy mi baja van?

szerk.:
Látom, ez annyira szar, hogy még a linkjét sem lehet linkként beszúrni...
docs.oracle.com/javase/7/docs/api/java/net/Socket.html#Socket(java.net.InetAddress, int)
Köszönjük oracle, hogy megalkottad ezt a csodát!

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201663   2014.02.28 11:43 GMT+1 óra  
No, még egy kis hekkelés: betettem egy billentyűre várakozást a végére:

Kód:
System.gc() start
System.gc() end
Garbage collected: 9
Garbage collected: 8
Garbage collected: 7
Garbage collected: 6
Garbage collected: 5
Garbage collected: 2
Garbage collected: 1
Garbage collected: 0
Garbage collected: 4
Garbage collected: 3


Tehát a GC valóban lefut, aszinkron módon, valamikor random időben a System.gc() hívása után.

Androidon szinkron a futás?

Ezt a hozzászólást MaNiAc módosította (2014.02.28 11:50 GMT+1 óra, ---)
Dare to imagine!
http://www.insaneidea.hu
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201662   2014.02.28 11:37 GMT+1 óra  
No, nálam a progi végén takarított csak, legalábbis nagyon úgy tűnik, ráadásul ott se mindent... (Mondjuk nem értem, azt a hármat miért, a többit miért nem?) Ez az Oracle JVM7-es cucc kimenete:

Kód:
System.gc() start
System.gc() end
Garbage collected: 9
Garbage collected: 8
Garbage collected: 7


Nálad mi volt? Jól sejtem, ez volt?

Kód:
System.gc() start
Garbage collected: 9
Garbage collected: 8
Garbage collected: 7
Garbage collected: 6
Garbage collected: 5
Garbage collected: 4
Garbage collected: 3
Garbage collected: 2
Garbage collected: 1
Garbage collected: 0
System.gc() end
Dare to imagine!
http://www.insaneidea.hu
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201661   2014.02.28 11:28 GMT+1 óra  


Most mar engem is kivancsiva tett a dolog, kiprobalom! Ami keznel van: mezei Oracle JVM 7, meg majd otthon az OpenJDK JVM-je.
Dare to imagine!
http://www.insaneidea.hu
   
__z - Tag | 71 hsz       Online status #201654   2014.02.28 05:41 GMT+1 óra  
Mivel érdekelt, hogy a gyakorlat mennyire vág össze az általad leírtakkal, összedobtam egy kis próba kódrészletet:
Kód:
    static private class Garbage {
        static private int counter;
        private int[] data = new int[4096];
        private int id = counter++;
                   
        protected void finalize() {System.out.println("Garbage collected: " + id);}
    }   
   
    private Garbage[] trash;

    // valahol a kódban
    for (int index = (trash = new Garbage[10]).length; index-- != 0; ) trash[index] = new Garbage();   

    // valahol máshol
    trash = null;
    System.out.println("System.gc() start");
    System.gc();
    System.out.println("System.gc() end");

Android-on próbáltam, eszközön és emulátoron is, mindkét esetben takarított a GC. Persze tudom, hogy ez csak egy platform és azon belül is csak egy példa, de ha bárkinek van valami random java-s project-je, próbaképp beilleszthetné a fenti kódrészleteket, most már tényleg kíváncsi vagyok, hogy a gyakorlat kit igazol...

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201644   2014.02.27 17:00 GMT+1 óra  
Örökbecsünek nem mondanam, de attol meg igy tanitjak...

Nem mellesleg, olvasd el a top valaszt itt:

http://stackoverflow.com/questions/2414105/why-is-it-a-bad-practice-to-call-system-gc
Dare to imagine!
http://www.insaneidea.hu
   
__z - Tag | 71 hsz       Online status #201642   2014.02.27 16:22 GMT+1 óra  
Idézet
MaNiAc :
... csak nem ajánlott, mert kvázi értelmetlen.


Akko' írj egy mailt a keretrendszer fejlesztőinek, hogy bővítsék a metódus leírását eme örökbecsű mondattal.

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201639   2014.02.27 14:52 GMT+1 óra  
Mert nem deprecated, csak nem ajánlott, mert kvázi értelmetlen.
Dare to imagine!
http://www.insaneidea.hu
   
__z - Tag | 71 hsz       Online status #201637   2014.02.27 11:47 GMT+1 óra  
Idézet
M4 :
Előre lefoglalhatnád az összes szükséges memóriát a "konzervatívabb memóriahasználó" résznek.


Attól még ugyanúgy nekiállhat futni a szemétgyűjtő, viszont ha előtte meghívtad, jó eséllyel takarított, így ha el is indul, csak körbenéz, és befejezi a futását, nem akkor áll neki takarítani.
Egyébként azt eddig is tudtam, hogy a szemétgyűjtő nem determinisztikus, de azért szerintem mégsem véletlenül hívható a gc() metódus, csak van valami oka, hogy már elég régóta és még mindig része a nyelvnek, nem törölték, és nem jelölték deprecated-nek?

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201634   2014.02.27 10:22 GMT+1 óra  
Idézet
M4 :
Előre lefoglalhatnád az összes szükséges memóriát a "konzervatívabb memóriahasználó" résznek.

Simán! Tipikusan pl. Java & OpenGL3+ kombóhoz az az egyik ajánlás, hogy pl. ne bytearray-eket hozz létre és pusztíts el kilóra mehet közben (teljesen felizgatva ezzel a gc-t! ), hanem pl. csinálj egy poolt erre abból gazdálkodj.
Dare to imagine!
http://www.insaneidea.hu
   
M4 - Tag | 187 hsz       Online status #201632   2014.02.27 09:37 GMT+1 óra  
Előre lefoglalhatnád az összes szükséges memóriát a "konzervatívabb memóriahasználó" résznek.

   
__z - Tag | 71 hsz       Online status #201626   2014.02.27 01:12 GMT+1 óra  
Idézet
MaNiAc :
Ahogy Matzi írta is, a System.gc() nem force-ol semmit.


Ja, csak ez kb. tökmindegy, nem azért hívod, hogy mindenáron eltakarítsa a szemetet, hanem hogy biztos legyél benne, rendelkezésedre fog állni a kellő memória. Ha a vm úgy ítéli meg, hogy nem kell takarítania, hát lelke rajta. Asszem ezt hívják "best-effort"-nak, ahogy a gc() metódus leírásában is szerepel.
Idézet
MaNiAc :
Én még azt is hozzátenném, hogy régen rossz, ha manuálisan akarsz gc-t triggerelni. Van egyébként konkrét példád, hogy miért kellene gc-t hívni?


Van. Mielőtt egy kevésbé teljesítménykritikus, de "szemétgyártó" részről átlépsz egy teljesítmény-kritikusabb, de "konzervatívabb memóriahasználó" részre: így minimalizálod a valószínűségét annak, hogy az utóbbi futása közben álljon neki futni a szemétgyűjtő is.

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201622   2014.02.26 22:11 GMT+1 óra  
Ahogy Matzi írta is, a System.gc() nem force-ol semmit. Én még azt is hozzátenném, hogy régen rossz, ha manuálisan akarsz gc-t triggerelni. Van egyébként konkrét példád, hogy miért kellene gc-t hívni? Amúgy, ami a java memóriamodelljét illeti, by default minden meg van sharelve a threadek között, így logikus, hogy a GC mechanizmus sem válogat.
Dare to imagine!
http://www.insaneidea.hu
   
Matzi - Szerkesztő | 2525 hsz       Online status #201612   2014.02.26 19:43 GMT+1 óra  
Nem hiszem hogy szálanként lenne tároló, mivel a szemét sehová sem tartozik, a memória foglalások sem szálakhoz tartoznak.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
__z - Tag | 71 hsz       Online status #201606   2014.02.26 18:17 GMT+1 óra  
Idézet
Matzi :
Jellemzően a gc hívás csak egy jelzés, hogy szerinted gyűjteni kellene. Aztán a futtató környezet eldönti, hogy csinál e bármit, vagy sem.


És ez mind szép és jó is, csakhogy ezt már eddig is tudtam.
Idézet
Matzi :
Amúgy meg csak azt szedheti össze, amire nincs referencia, azokra meg egyik szálon sincs referencia, szóval teljesen mindegy.


És ez is teljesen igaz, csak épp nem válaszolja meg a kérdésem. Ha esetleg átfogalmazom, és úgy teszem fel: a létrejövő objektumok (a szemétgyűjtés szempontjából) egy közös tárolóba kerülnek (ez tűnik a valószínűbbnek, csak nem tudom biztosan), vagy szálanként külön tároló jön létre?

   
Matzi - Szerkesztő | 2525 hsz       Online status #201603   2014.02.26 17:49 GMT+1 óra  
Jellemzően a gc hívás csak egy jelzés, hogy szerinted gyűjteni kellene. Aztán a futtató környezet eldönti, hogy csinál e bármit, vagy sem. Amúgy meg csak azt szedheti össze, amire nincs referencia, azokra meg egyik szálon sincs referencia, szóval teljesen mindegy.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
__z - Tag | 71 hsz       Online status #201601   2014.02.26 17:32 GMT+1 óra  
Azt tudja valaki, hogy a GC hogyan működik egy többszálú programban? Pl. ha az egyik szálban meghívom a System.gc()-t, az az összes szálban keletkezett szemetet igyekszik eltakarítani, vagy szálanként külön kell meghívni?

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201596   2014.02.26 11:45 GMT+1 óra  
Btw, ha rajzolgatni akarsz, akkor se AWT-vel, mert kb. az a legalja... Milyen JDK-t használhatsz? Ha használható a 7-es JDK, akkor GUI-záshoz ott a lentebb linkelt javafx, piszok gyors és egyszerű, lehet, hogy azzal megúszod az OpenGL-t. Bár ez az egész attól függ persze, hogy mit kéne csinálnod...
Dare to imagine!
http://www.insaneidea.hu
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201595   2014.02.26 11:41 GMT+1 óra  
Pontosan - mindkettőt próbáltam, egyiket sem kell telepíteni, csak 2-3 jar, amit odacsapsz a projecthez és csókolom.

A JOGL btw szerintem skip - nagyon úgy nézett ki, hogy defacto standard lesz, de az LWJGL nagyon elhúzott benne fejlődésben...
Dare to imagine!
http://www.insaneidea.hu
   
Joga - Törzstag | 1791 hsz       Online status #201594   2014.02.26 10:37 GMT+1 óra  
jogl, lwjgl, ilyesmi kell hozzá, ezeket nem is kell telepíteni, csak hozzáadni a csomagot a projecthez, ha jól tudom

Elsőre ezt dobta a google:
http://www.land-of-kain.de/docs/jogl/
(ಠ ›ಠ) Stewie!

   
Elodin - Tag | 181 hsz       Online status #201591   2014.02.26 10:17 GMT+1 óra  
Java hogy hozható össze opengl-lel?

Vmi. külső cucc kell hozzá?
Annyi kéne amúgy, hogy og 1.2 -vel textúrákat töltögessünk, mert félek, hogy ha simán awt-vel rajzoltatok, az nagyon szaggatna.

Annyi, hogy labor gépeken kell futnia és fordulnia, oda pedig nem telepíthetek semmit szerintem.

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201587   2014.02.26 09:52 GMT+1 óra  
<trollmode>

No, jelentem belefutottam pár igazi looser, noskill vérpistibe, akik javat használnak 3D megjelenítésre... Biztos hülye mind, ez már az URL-ből is látszik...

http://worldwind.arc.nasa.gov/java/

</trollmode>
Dare to imagine!
http://www.insaneidea.hu
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #201519   2014.02.22 21:39 GMT+1 óra  
Thread necrooooooo!

Na jo, viccet felreteve, egy kis erdekesseg, mert valaki emlitette, hogy gyalazatos tapasztalatai vannak a javas GUI-kkal. Nos, így néz ki mostanság egy javas GUI toolkit...

http://download.oracle.com/otndocs/products/javafx/2/samples/Ensemble/Ensemble.jnlp

(Java WebStart demó, legalább egy 7-es JRE kell neki!)
Dare to imagine!
http://www.insaneidea.hu
   
M4 - Tag | 187 hsz       Online status #198467   2013.10.21 12:36 GMT+1 óra  
Én így csináltam a canvas osztályomban:
Kód:
    public void INIT(){
        if(Main.isFullscreen()){
            scale = Math.min(getWidth()/(float)Screen.width, getHeight()/(float)Screen.height);
            translatex = (int)(getWidth()-Screen.width*scale)/2;
            translatey = (int)(getHeight()-Screen.height*scale)/2;
        }else{
            translatex = 0;
            translatey = 0;
        }
        createBufferStrategy(2);
        bufferStrategy = getBufferStrategy();
    }
   
    public void render(){
        Graphics2D g = null;
        try{
            g = (Graphics2D)bufferStrategy.getDrawGraphics();
            g.setColor(screen.backgroundColor());
            g.fillRect(0, 0, getWidth(), getHeight());
            g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
            g.setFont(new Font(Font.MONOSPACED, Font.BOLD, 20));
//            g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
            g.translate(translatex, translatey);
            g.scale(scale, scale);
            screen.paint(g);
            bufferStrategy.show();
        }finally{
            if(g!=null)
                g.dispose();
        }
    }

A screen.paint(g) a játék kirajzolása (menü vagy játék).

   
Elodin - Tag | 181 hsz       Online status #198465   2013.10.21 09:45 GMT+1 óra  
Idézet
Pretender :
Illetve az is kérdéses, hogy hogy rajzolod azt a négyszöget. Ha explicit megadtad, hogy 640x480 legyen, akkor az nem lesz nagyobb...



De ha a a felbontás 640*480, akkor ha megadom, hogy 640*480 legyen a négyszög, akkor kitölti a képet. Ha a felbontás 1920*1080, akkor meg nyilván nem.

Mivel primitívek mellett sprite is lesz a játékban, a teljesítmény miatt szeretném mondjuk egy 800*600-ra fixálni a felbontást. Ez teljes képernyővel nem akar összejönni.

   
Pretender - Törzstag | 2498 hsz       Online status #198463   2013.10.21 00:19 GMT+1 óra  
Ezeket nyilvánvalóan én is megtaláltam.
Közben feladtam, ott rohadjon meg a java, ahol van. Éljen a c#, gyönyörűen működik, azonnal...

   
zeller - Törzstag | 486 hsz       Online status #198460   2013.10.20 19:41 GMT+1 óra  
Pretender - Törzstag | 2498 hsz       Online status #198459   2013.10.20 16:43 GMT+1 óra  
Próbálkozott már azzal valaki, hogy egy swing controlnak c++ oldalon elkérje a HWND-t? Ez az AWT még egész jó lett volna, de sehogy se jó.

   
M4 - Tag | 187 hsz       Online status #198458   2013.10.20 15:24 GMT+1 óra  
Ha nem akarod átállítani a felbontást akkor teljes képernyőre rakás után használd a graphivs2d.scale() függvényt rajzoláskor hogy kitőltse az ablakot az általad megadott méret.

   
Pretender - Törzstag | 2498 hsz       Online status #198457   2013.10.20 14:37 GMT+1 óra  
Annyira sajnos nem vágom, de esetleg próbáld azt, hogy csinálsz egy JPanel-t BorderLayout-tal, és abba rakod bele. Akkor elvileg kihúzza maxra.
Illetve az is kérdéses, hogy hogy rajzolod azt a négyszöget. Ha explicit megadtad, hogy 640x480 legyen, akkor az nem lesz nagyobb...

Nekem pl. az átméretezés jól működik "GroupBox" esetén
Kód:
JPanel root = new JPanel(new BorderLayout());
JPanel toolsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
toolsPanel.setBorder(BorderFactory.createTitledBorder("Toolbar"));
root.add(toolsPanel, BorderLayout.NORTH);

Nyilván, ha a teljesre kell, akkor nem kell a NORTH

   
Elodin - Tag | 181 hsz       Online status #198456   2013.10.20 13:33 GMT+1 óra  
Az lett volna a cél, de ez nem akar működni. A setSize(640,480)-al beállítom a méretét a framenek, majd ha utána megvan amit írtál, akkor ha rajzolok egy 640*480-as fekete négyszöget pl, akkor nem tölti ki az egész képet, csupán a bal felső sarokból valamennyit.

   
Pretender - Törzstag | 2498 hsz       Online status #198455   2013.10.20 13:18 GMT+1 óra  
Nem teljesen értem, hogy a mondatod végén leírtak a célok, vagy azt elkerülni? Ha az a cél, akkor maximized window kell neked, így valahogy:
Kód:
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);

   
Elodin - Tag | 181 hsz       Online status #198454   2013.10.20 11:21 GMT+1 óra  
JFrame-t hogy lehet teljes képernyőre varázsolni anélkül, hogy a felbontást a képernyő felbontására állítanám? Tehát hogy az 1920*1080-as monitoromra széthúzza a 800*600-as alkalmazást, és így a framen lévő panelra rajzolt 100*100-as kitöltött négyzet pofátlanul nagy legyen.

   
StrykerKKD - Tag | 30 hsz       Online status #197250   2013.09.12 12:21 GMT+1 óra  
Szeptember 16.-án coursera-n indul egy képzés Scala nyelvből ,ami a Java-ra építkezik.
Szerintem nagyon érdekes nyelv és nagyon sokan dicsérik ,mivel nagyon kifejező nyelv.
Akit érdekel a Szerver-Kliens programozás ,annak megér egy próbát ,mivel főleg erre használják.
Scala kurzus
   
varmolmobile - Tag | 5 hsz       Online status #195815   2013.07.05 03:17 GMT+1 óra  
Üdv!

A Varmol mobile startup fejlesztőket keres android és ios platformra akik szívesen dolgoznának szabadidejükben. Játékokat és programokat készítünk. Jelenleg 2 játék és 1 program van fejlesztés alatt. Ezenkívül már van egy kész programunk ami felkerült amazon app store-ba és hamarosan elérhető lesz google playen is. Jelenlegi csapatunk 8 fős. A következő tudású embereket keressük:

- Java,C/C++,Opengl programozókat
- Grafikusokat

Amennyiben szeretnél egy gyorsan fejlődő csapatban dolgozni akkor várjuk jelentkezésedet. Jelentkezni/érdeklődni üzenetben és a varmolmobile@gmail.com email címen lehet.

   
BLM - Tag | 1 hsz       Online status #195468   2013.06.26 21:13 GMT+1 óra  
Sziasztok!

Szeretném kérni a segítségetek egy Java3D-vel kapcsolatos problémámban...
Próbálok magamnak összerakni egy dupla klikkre működő Java3D jar fájlt, először azt hittem, hogy én csinálom meg szarul a jar-t, aztán láttam, hogy ezek se működnek...
Az alábbiak azt írják ki írják ki:
" A Java Exception has occurred. "
link1
link2

Amikor csináltam egy saját jar-t ugyan ez volt, de amikor belefordítom az importban használt classokat a jar-ba, azután nem ír ki semmi hibaüzenetet, de nem is csinál semmi mást...
(JDK 7.25-nél , és 6.29-nél )
Viszont parancssorból futtatva az összes tökéletesen működik:
java -jar xyz.jar
Próbáltam már régebbi JDK-val (1.5.0.1), akkor azt írja, hogy nem találja a main-t, pedig a manifestben meg van hivatkozva...
Melette Java3D 1.5.1, és 1.5.2-vel próbálkoztam eddig...

Teljes forráskód
Úgy vettem észre, ha ez a sor lefut, akkor nem csinál semmit(ha kommentelem működik) /27. sor/:
Kód:
GraphicsConfiguration config = getPreferredConfiguration();


Amely sor ezt a függvényt hívja/100-105. sor/:
Kód:
public static java.awt.GraphicsConfiguration getPreferredConfiguration() {
// kerjük le a grafikus eszközt
GraphicsDevice gDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
// adjuk vissza a legjobb konfigurációt
        return gDevice.getBestConfiguration(new GraphicsConfigTemplate3D());
}


Viszont elképzelhető, hogy valahol nullpointerexceptiont kap (de akkor miért nem jelzi), mert ha átírom, és így hívom meg, akkor is ugyan úgy nem csinál semmit:

Kód:
[code]GraphicsConfiguration config = null;
[/code]

Ha valaki tudna segíteni megköszönném!

Ezt a hozzászólást BLM módosította (2013.06.26 21:44 GMT+1 óra, ---)

   
borsi - Tag | 180 hsz       Online status #193501   2013.04.17 15:32 GMT+1 óra  

   
kernel_panic - Tag | 117 hsz       Online status #193491   2013.04.17 12:41 GMT+1 óra  
Egy formátumokkal kapcsolatos kérdés: ha szeretnék megadni valami orbitális nagy számot (ahol csak a nagyság a szignifikáns) meg lehet ezt tenni valami tömör formában, pl: 10^24, vagy ehhez hasonlóan?

   
full3nzo - Tag | 48 hsz       Online status #193122   2013.04.04 09:04 GMT+1 óra  
Távolról szeretnénk futtatni! De részletezném, hogy ne legyen félreértés. Egy Java alkalmazást szeretnénk úgy futtatni, hogy egy weboldalon legyen indítható. Jelenleg egy tankönyv egyik példa programjával próbálkozunk a lehető legkisebb hibalehetőség miatt, de nem vagyunk nagyon tapasztaltak Jávában.
Egy webszerver kellene ami kezeli az apachot szerintem.

Van egy kb. 50% készültségű játékunk és szeretnénk felmérni, hogy milyen lehetőségeket tudunk kihasználni, amire elkészülünk - ez lenne az egyik...

Ezt a hozzászólást full3nzo módosította (2013.04.04 09:18 GMT+1 óra, ---)

   
M4 - Tag | 187 hsz       Online status #193118   2013.04.04 08:54 GMT+1 óra  
A jnlp kliensen fut.Vagy távolról akarjátok futtatni?

   
full3nzo - Tag | 48 hsz       Online status #193117   2013.04.04 08:39 GMT+1 óra  
Sziasztok!

Lenne még egy kérdésem. Valaki tudna segíteni abban, hogy hol találok egy ingyen használható Apache webkiszolgálót? Egy barátommal szeretnénk futtatni ott egy *.jnlp fájlt - sajnos eddig nem jártunk sikerrel, mert egyetlen kiszolgáló sem volt képes erre.

   
Matzi - Szerkesztő | 2525 hsz       Online status #192819   2013.03.28 17:15 GMT+1 óra  
A grafika tipikusan egy szálon fut, nem párhuzamosítható. Szóval valószínűleg nem.

(Ha kétszer is hozzászólsz gyors egymás utánban, akkor használd a szerkesztés funkciót)
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
full3nzo - Tag | 48 hsz       Online status #192817   2013.03.28 16:54 GMT+1 óra  
Köszönöm a gyors választ! És programszálakkal megoldható egy összetettebb grafikus felület lényegesen gyorsabb megjelenítése?

Egyébként a minecraft egészen meggyőző számomra ebből a szempontból...

Ezt a hozzászólást Matzi módosította (2013.03.28 17:14 GMT+1 óra, ---)

   
Matzi - Szerkesztő | 2525 hsz       Online status #192811   2013.03.28 16:06 GMT+1 óra  
Nem izometrikus ugyan, de ott a minecraft.
Ettől függetlenül a java nem a legalkalmasabb teljesítmény igényes feladatokra. Főleg 3D grafikára. Persze a limitált teljesítményből is lehet jó dolgokat kihozni.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Frissebbek | Korábbi postok
[1] > 2 < [3] [4] [5] [6] [7] [8] [9]