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
μπορεί να πάρει μία από τις παρακάτω τιμές:Η μέθοδος w.setVisible(true), ορίζει ότι το παράθυρο θα είναι ορατό. Αν ορίσετε w.setVisible(false), τότε το παράθυρο δεν εμφανίζεται και το πρόγραμμα τερματίζεται μόλις αρχίσει η εκτέλεση του.
Από τι αποτελείται όμως ένα αντικείμενο της κλάσης JFrame; Στην πραγματικότητα ένα JFrame είναι ένα αντικείμενο που χρησιμοποιεί τα hooks του λειτουργικού συστήματος και του window manager για να δημιουργήσει ένα παράθυρο. Ένα JFrame περιέχει ένα αντικείμενο της κλάσης JRootPane, το οποίο με τη σειρά του περιέχει οτιδήποτε συνδέεται με το περιεχόμενο του παραθύρου. Πιο συγκεκριμένα ένα JRootPane περιέχει με τη σειρά του τα εξής:
Το παρακάτω σχήμα από το site της Oracle δίνει εποπτικά την παραπάνω διάκριση των περιεχομένων του JRootPane. Δεν θα ασχοληθούμε περαιτέρω με την κλάση JRootPane, αλλά θα επικεντρωθούμε στο content pane και το menu bar που αυτό περιέχει (στοιχεία 2 και 3 από την παραπάνω λίστα).
Η κλάση JFrame έχει τους εξής κατασκευαστές:
και τις παρακάτω μεθόδους
α) σχετικά με το μέγεθος του παραθύρου:
β) Σχετικά με το περιεχόμενο του παραθύρου:
Προηγούμενο: Events & Event Listeners | Περιεχόμενα | Επόμενο: Η κλάση JColor |