[ casperns2 @ 25.03.2014. 06:50 ] @
Ako hocemo da napravimo aplikaciju ili neki program moramo da upotrebimo graficki korisnicki interfejs, jesam dobro razumeo. Sve te kolekcije, nasledjivanja, pisanje klasa izuzetaka,odnosi medju objektima i klasama, zapisivanje i citanje podataka sve to nam treba ali da bi mi zaista pokrenuli aplikaciju potrebno je sve to ubaciti i iskombinovati sa GUI?

Sve ovo pitam jer JavaFX koju koristim za GUI je jako bogata i ima dosta stvari i sve izgledaju korisno i zanimljivo i verujem da nije ni malo bacanje vremena sve to uciti ali opet da pitam i vas?
Pravljenje Scene , izrada potrebnih korisnickih dugmada i polja za unos, razni efekti, slike i ostali mediji, obrada dogadjaja nakon neke akcije korisnika(klik misa,enter,razni tasteri),css, ispis u odredjeno polje ekrana ... bez toga program se ne moze pokrenuti u samostalnom prozoru , mislim na prozor-Scenu koji mi kreiramo... kao u kodu ispod ???
Code:
public class HelloWorld extends Application {

    @Override
    public void start(Stage primaryStage) {
        
               Scene scene=SceneBuilder.create()
                .width(300)
                .height(300)
                .root(kreirajScenu())
                .build();
        
    primaryStage.setScene(scene);
    primaryStage.setTitle("HeloWorld");
    primaryStage.show();
                }
    private Parent kreirajScenu(){
        GridPane gp=GridPaneBuilder.create()
                .alignment(Pos.CENTER)
                .children()
                .build();
        return gp;
    }
[ Rapaic Rajko @ 25.03.2014. 19:32 ] @
Hm, nije najjasnije sta zapravo pitas, ali ajde ovako...

Sve ono sto si ucio dosad (pre GUI-a) je cista, esencijalna, PRAVA java; bez razumevanja te materije, sa java GUI alatima mozes samo da pravis SLAGALICU (stari kviz sa RTS-a) . Prema tome, GUI koji kreiras (frame, applet, scene) treba da bude samo veza izmedju korisnika i engine-a koji si sklepao 'ispod haube'. Ja cak idem korak dalje, modelujem klase bez premisljanja kako ce interagovati sa korisnikom - vec prema tome kako treba da rade. Tek nakon te faze, osmisljavam komunikaciju sa korisnikom. Ovo je inace dobra praksa, jer vodi ka robusnim ('same-sebi-dovoljnim') klasama; drugim recima, u GUI objektima treba da bude kod vezan samo za korisnicke akcije.

A sto se tice potrebe za (studioznim) ucenjem GUI klasa, recimo ovako: na sajtu odakle (jos) ucim javu (docs.oracle.com), recimo bas swing tutorijal, kaze nesto kao (slobodan prevod) "sledece stivo citajte kako/kad vam sta zatreba". Kapiram da cak ni oni ne smatraju nuznim ucenje 'napamet' svih mogucih klasa - pa java je u tom pogledu ogromna/nepregledna. Mnogo je vaznije razumevanje kako java RADI.

Ako si nesto drugo imao na umu (pitanje), izvinjavam se.

Pozz
[ casperns2 @ 25.03.2014. 21:46 ] @
Upravo sam to hteo da pitam i hvala na odgovoru. I mislim da je prava java ono sto je ispod GUIa a neki korisnicki interfejs moramo imati da bi proizvod predstavili krajnjem korisniku. Kao sto rece, ono ispod haube je najvaznije i sve pokrece, izgled karoserije je stvar ukusa i manje bitno...

Za slagalicu treba malo znati i for petlje i dvodimenzionalne nizove:) ...slazem da je jedan od laksih programa..

[Ovu poruku je menjao casperns2 dana 25.03.2014. u 23:02 GMT+1]
[ Andrej013 @ 26.03.2014. 00:49 ] @
Ja na poslu nikada nisam kreirao GUI a poslednji put sam napisao JButton na faxu. U celoj kompaniji nema jedan jedini projekat koji koristi swing a imamo dvadesetak java developera.
Nije da se java uopste ne koristi za front end, ali se mnogo vise koristi za back end.
Predji preko tih poglavlja koja pokrivau gui cisto da znas koje mogucnosti postoje, ako nekada zatreba da znas gde i sta da trazis ali bih ti vise preporucio da se mozda fokusiras na komunikaciju sa bazama, klijent-server preko soketa, servlete/jsp i sl. Ali sve to tek kada budes savladao bar osnove multithreadinga.

Naravno, ovo je neko moje misljenje i mozda nisam u pravu pa me zanima sta seniori misle.
[ casperns2 @ 26.03.2014. 21:36 ] @
Danas sam uzeo dve knjige da sve ovo sto sam presao sada iskristalisem i stvarno mi se svidja kako je objasnjeno i upravo odradjuje to sto sam zeleo. Sve to sto znam povrsno ili mi nije najasnije, razjasnjava se i postaje savrseno jasno.

Uzeo sam "Misliti na javi" od Brus Ekel , izdanje od 2007. god. i Java JDK 7:Kompletan prirucnik od Xerbert Sild ... obe su preko 1000 strana ali ide dobro i nije dosadno

Za misljenje o GUI cekamo misljenje iskusnih programera vredi li se previse unositi u to...:)
[ Snacker @ 27.03.2014. 11:36 ] @
Skrećem sa teme, ali bih da se nadovežem na priču o knjigama. I ja sam kupio Schildta, ali pre toga planiram da istamburam C nekoliko meseci. Puno pozitivnih komentara sam pročitao i o ovim izdanjima
I & II. Jake cene, ali vrede svakako.
[ jablan @ 27.03.2014. 12:49 ] @
Citat:
Andrej013:Naravno, ovo je neko moje misljenje i mozda nisam u pravu pa me zanima sta seniori misle.

Slažem se. Ista situacija je i u mojoj firmi. Nemamo nijedan Java GUI a imamo desetine hiljada linija Java koda. Čak ni web UI ne radimo u Javi.
[ zarkonio @ 27.03.2014. 23:13 ] @
Ako želiš da naučiš front end odnosno Aplikativni GUI u Javi tj. SWING, toplo ti preporučujem ovaj link:

http://informatika.ftn.uns.ac.rs/OISISI

Gradivo je sa treće godine Računarstva i Informatike sa FTN-a. Sve je na srpskom i jako je lepo objašnjeno kroz primere. Dovoljno je da imaš osnovna znanja iz jave i objektnog programiranja da bi krenuo s ovim tutorijalima. Naučićeš sve osnovne grafičke elemente, Rukovanje događajima, izuzecima, osvnovne kolekcije, zapis i čitanje u/iz fajla, lokalizaciju...

Sav kod se piše u Eclipse-u, dakle nema NetBeans-a i sličnih frejmvorkova koji ti daju da radin kao u Visual Studio-u, već sve sam kucaš i kapiraš kako radi.
[ casperns2 @ 27.03.2014. 23:35 ] @
Hvala zarkoni za link, procicu to sigurno samo kada zavrsim sa ovim sto sam poceo da ucim. Mada iskreno meni se javaFX cini jako zanimljivom i privlacnom, a koliko sam procitao na par foruma a i po zastupljenosti tutorijala na Oracle sajtu trebalo bi da zameni SWING i postane nova tehnologija za GUI.