This is an old revision of the document!
H κλάση JFrame υλοποιεί το βασικό παράθυρο μιας εφαρμογής swing, όπως στο σχήμα. Το παράθυρο που ακολουθεί υλοποιείται από τον παρακάτω κώδικα:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FrameDemo { private static void createAndShowGUI() { //Create and set up the window. JFrame frame = new JFrame("FrameDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel emptyLabel = new JLabel(""); emptyLabel.setPreferredSize(new Dimension(200, 130)); frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); // set window size frame.pack(); // show window frame.setVisible(true); } public static void main(String[] args) { //Schedule a job for the event-dispatching thread: //creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }
operation μπορεί να πάρει μία από τις παρακάτω τιμές:Από τι αποτελείται όμως ένα αντικείμενο της κλάσης JFrame; Στην πραγματικότητα ένα JFrame είναι ένα αντικείμενο που χρησιμοποιεί τα hooks του λειτουργικού συστήματος και του window manager για να δημιουργήσει ένα παράθυρο. Ένα JFrame περιέχει ένα αντικείμενο της κλάσης JRootPane, το οποίο με τη σειρά του περιέχει οτιδήποτε συνδέεται με το περιεχόμενο του παραθύρου. Πιο συγκεκριμένα ένα JRootPane περιέχει με τη σειρά του:
Το παρακάτω σχήμα από το site της Oracle δίνει εποπτικά την παραπάνω διάκριση των περιεχομένων του JRootPane.
Οι βασικές μέθοδοι της κλάσης JFrame είναι οι παρακάτω:
public JFrame(): default κατασκευαστής του παραθύρου.public JFrame(String title): Κατασκευαστής του παραθύρου στον οποίο ορίζεται και ο τίτλος.public void setTitle(String title): Ορισμός του τίτλου του παραθύρου.public void setSize(int width, int height): Ορισμός του μεγέθους του παραθύρου σε pixels.public void add(Component componentToAdd): Προσθέτει ένα γραφικό component στο παράθυρο.public void setLayout(LayoutManager manager): Ορίζει το layout για το παράθυρο. Θα δούμε πιο κάτω τι είναι το layout και θα δούμε επίσης τα πιο ενδιαφέροντα layouts.public void setMenuBar(JMenuBar menubar): Ορίζει την μπάρα για το μενού στο παράθυρο.public void setDefaultCloseOPeration(int operation): Ορίζει την διαδικασία που θα τρέξει όταν ο χρήστης πατήσει το κουμπί (επάνω δεξιά) που κλείνει το παράθυρο. Η μεταβλητή operation μπορεί να πάρει μία από τις παρακάτω τιμές:
Η μέθοδος w.setVisible(true), ορίζει ότι το παράθυρο θα είναι ορατό. Αν ορίσετε w.setVisible(false), τότε το παράθυρο δεν εμφανίζεται και το πρόγραμμα τερματίζεται μόλις αρχίσει η εκτέλεση του.