Szóval, mi is a célunk? Igaziból egyelőre nem akarunk egy saját GUI frameworköt csinálni, mármint nem szeretnénk minden képpontot mi rajzolgatni a képernyőre, és küzdeni az egér kezelésével. Persze ez azért nem annyira lenne nagy dolog, de végülis minket a Swingben csak az zavar (legfőképp) hogy nehéz használni.
Egyetlen ablak ilyen "lábbalhajtós":
public static void main(String[] args) {
JFrame frame=new JFrame();
frame.setTitle("Hello");
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
Mit tegyünk? Hát egyszerű! Csináljunk egy saját ablakot, ami olyan, mint a JFrame, de cserébe a konstruktorában mindent megcsinál.
1) Csinálj egy osztályt Window névvel.
2) Örököltesd a JFrame-től:
public class Window extends JFrame {
}
3) A Window szó sárgán alá van húzva, menj fölé és fogadd el a "Add default serial ID" javítást. Hogy ez miért kell? Hosszú történet, de valamikor az 1990-es években jó ötletnek tűnt egy olyan dolog, amit ma már senki nem használ... szóval ez egyszerűen muszáj.
4) Csinálj bele egy konstruktort
public class Window extends JFrame {
// default serial id baromsag
private static final long serialVersionUID = 1L;
public Window() {
setTitle("hello");
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
5) Használd boldogan!
public class WindowTest {
public static void main(String[] args) {
new Window();
}
}
Amikor ebből a Window osztályból egy új példányt hozunk létre, a konstruktor lefut, és eleve szép, kész ablakot kapunk. Ez eddig azért nem volt olyan nehéz, ugye?