A főablak elemeit a konstruktorban példányosítjuk, majd megcsináljuk az elrendezést. Ezzel nagy gondunk nincs, hiszen a főablakra egyelőre nem teszünk külön semmilyen GUI elemet a menün kívül.
Itt példányosítjuk (és paraméterezzük) az AdatbazisKezelo osztályt.
A menüt úgy készítjük el, hogy létrehozunk egy JMenuBar objektumot, amelyet hozzáadunk az osztályunkhoz (amely egy JFrame-ből származik). Ehhez adjuk hozzá a menüket (JMenu objektumok) és a menükhöz a menüelemeket (JMenuItem objektumok). A menüelemekhez - csakúgy mint a gombokhoz - egy eseményfigyelőt rendelünk, amely egy ActionEvent-et hoz létre ha rákattintunk. Az eseményeket az ebben az osztályban lévő actionPerformed() metódus kezeli le. Ha a "Kilépés" menüelemre kattintottunk, akkor kilép a program, ha pedig az "Új könyv felvétele ..." menüpontra kattintottunk, akkor pedig megnyílik a könyvfelviteli párbeszédablak.
A konstruktor végén beállítjuk az ablak méretét és pozícióját.
public KonyvtarPelda(String title) {
super(title); // az ablak felirata
// létrehozzuk az objektumokat
// létrehozzuk a párbeszédablakot, de nem jelenítjük meg
this.dialog_konyvFelvitelUrlap = new KonyvFelvitelUrlap(this);
this.dialog_konyvFelvitelUrlap.setVisible(false); // nem jelenítjük meg, csak
// létrehozzuk az adatbáziskezelőt
this.adatkezelo = new AdatbazisKezelo("localhost:3306/KONYVTAR", "root", "");
// beállítjuk a párbeszédablakhoz az adatbáziskezelőt
this.dialog_konyvFelvitelUrlap.setAdatkezelo(this.adatkezelo);
// létrehozzuk a menüt és a menülelemekt
JMenuBar menubar = new JMenuBar();
this.setJMenuBar(menubar);
this.menu_fileMenu = new JMenu("File");
this.menu_konyvekMenu = new JMenu("Könyvek");
this.menuitem_kilep = new JMenuItem("Kilép");
this.menuitem_konyvFelvitel = new JMenuItem("Új könyv felvétele ...");
// hozzáadjuk a menüket a menubar-hoz
menubar.add(menu_fileMenu);
menubar.add(menu_konyvekMenu);
// hozzáadjuk a File menühöz a kilépést
this.menu_fileMenu.add(menuitem_kilep);
this.menu_konyvekMenu.add(menuitem_konyvFelvitel);
// hozzáadunk egy eseményfigyelőt a menüelemekhez
// ez az osztály fogja ezeket az eseményeket lekezelni
this.menuitem_kilep.addActionListener(this);
this.menuitem_konyvFelvitel.addActionListener(this);
// megjelenítjük a főablakot,
//this.pack(); // csak akkorára állítjuk a méretét, amekkora helyet elfoglal
this.setSize(300,100);
this.setLocation(300, 300);
this.setVisible(true);
}