Őőő, GUI, bitte? A GUI azt jelenti, hogy Graphical User Interface, azaz grafikus felhasználói felület. Ez az, amit nap mint nap használsz az asztali számítógépen, a tableten, a mobiltelefonon, hiszen senki sem használ ilyesmit:
hanem sokkal inkább ilyesmit:
Feladat: Szerinted mi a különbség a két kép között?
Szerintem:
Hogyan kell:
Hú... Ez jó sok kérdés - és az igazt megvallva, jó sok meló is! Ha minden képponttal nekünk kellene foglalkozni, akkor biztos, hogy két hétig csak egyetlen ablakot rajzolgatnánk, és olyan sok részletre kellene figyelnünk, hogy szinte sose lennénk készen bármi hasznos dologgal.
Szerencsére már tudjuk az előző fejezetből, hogy ez azért ettől egyszerűbb. Ugyanis, gondos kezek létrehoztak frameworköket. A framework azt jelenti szó szerint, hogy vázszerkezet, szóval valami, ami már majdnem készen van.
Természetesen teljesen még nincs készen, de legalább nem nulláról kell kezdenünk az építkezést.
Általában kezeli a következő dolgokat:
A GUI framework sokszor használja a grafikai frameworkot:
Egy kicsit most használtunk mindkettőt az előző részben. Most már elárulhatom: a Swing nevű GUI frameworköt használtuk az előző részben, és egy nagyon pici ImageIO frameworkot használtunk a képek betöltéséhez.
Emlékszel az első képkirakós példára?
public class Slideshow {
public static void main(String[] args) {
// Swing
JFrame frame=new JFrame();
frame.setSize(220, 190);
frame.setTitle("Helyek");
frame.setLayout(null);
frame.setVisible(true);
JLabel label=new JLabel();
label.setBounds(0,0,286,160);
frame.add(label);
label.setIcon(
// ImageIO
new ImageIcon(ImageIO.read(new URL("http://dongo.biz/jm/resource/salgotarjan.jpg")))
);
}
}
Ebben van egy sornyi ImageIO a kép betöltésére, és a maradék az tulajdonképpen mind Swing cucc. Meg is jelöltem, hogy melyik melyik, keresd meg a kódban!
Elég egyszerűen - eddig talán fel sem tűnt, olyan könnyedén! Egyszerűen bármikor, amikor egy olyan osztályt használsz, amit nem Te készítettél, akkor tulajdonképpen egy frameworkot használsz!
Amikor egy String-et használsz, akkor a Java lang frameworköt használod. Amikor egy JFrame-t használsz, akkor a Swing frameworkot használod. Amikor meg a képet betöltöttük, az az ImageIO framework volt.
Rettentően sok! A Javahoz alapból jár 4240 osztály (Java SE8). De ez még semmi! Az Interneten naponta jelennek meg és tűnnek el további frameworkok, sok-sok osztállyal.
Huhh? Komolyan? Nos, erre mit mondhatnék? Azt a 4-5 féle frameworkot és 10-20 osztályt, amit a következő 2 évben használni fogsz, igenis meg fogod ismerni - mert használod. A maradék több ezer osztályt meg tegyük félre egyelőre. De ne legyen ettől rossz érzésed, nincs szükséged arra, hogy a világ összes Java osztályát megismerd.
A világon rengeteg sok ennivaló létezik, tudjuk, hogy mind ehető, és csillapítja az éhséget. De ha látsz egy ilyet, akkor talán még a nevét sem tudod:
No és akkor mi van? Lehet, hogy Neked sosem kellett ilyet enni, szóval attól még hogy nem vágod kívülről az összes indiai kaja nevét, attól még nem kell kétségbe esni! Szerintem kevés indiai tudja azt, hogy mi az a rántott csirke!
Egyszerűen mindenki azt a 10-20 féle ételt eszi, ami tetszik neki. Ennek tudjuk a nevét is, az ízét, a színét, az illatát!
Az osztályokkal sincs másként: azt a 10-20 osztályt jól megismerjük amit használunk, tudjuk a nevét, tudjuk mire való! A többivel meg foglalkozunk akkor, ha valami igazán egzotikusra vágyunk, okés?