User Tools

Site Tools


swing:jframe

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
swing:jframe [2018/03/22 08:19] – [Δομικά στοιχεία ενός JFrame] gthanosswing:jframe [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 55: Line 55:
 ===== Δομικά στοιχεία ενός JFrame ===== ===== Δομικά στοιχεία ενός JFrame =====
  
-Από τι αποτελείται όμως ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html|JFrame]]; Στην πραγματικότητα ένα **JFrame** είναι ένα αντικείμενο που χρησιμοποιεί τα hooks του λειτουργικού συστήματος και του window manager για να δημιουργήσει ένα παράθυρο. Ένα JFrame περιέχει ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JRootPane.html|JRootPane]], το οποίο με τη σειρά του περιέχει οτιδήποτε συνδέεται με το περιεχόμενο του παραθύρου. Πιο συγκεκριμένα ένα [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JRootPane.html|JRootPane]] περιέχει με τη σειρά του:+Από τι αποτελείται όμως ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/7/docs/api/javax/swing/JFrame.html|JFrame]]; Στην πραγματικότητα ένα **JFrame** είναι ένα αντικείμενο που χρησιμοποιεί τα hooks του λειτουργικού συστήματος και του window manager για να δημιουργήσει ένα παράθυρο. Ένα **JFrame** περιέχει ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JRootPane.html|JRootPane]], το οποίο με τη σειρά του περιέχει οτιδήποτε συνδέεται με το περιεχόμενο του παραθύρου. Πιο συγκεκριμένα ένα [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JRootPane.html|JRootPane]] περιέχει με τη σειρά του τα εξής:
   - ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JLayeredPane.html|JLayeredPane]] το οποίο έχει την δυνατότητα να προσδίδει βάθος στα αντικείμενα που περιέχονται στο παράθυρο. Δεν θα ασχοληθούμε περαιτέρω με τη συγκεκριμένη κλάση, καθώς έχει ειδικές εφαρμογές. Μπορείτε να δείτε το σχετικό [[https://docs.oracle.com/javase/tutorial/uiswing/components/layeredpane.html|παράδειγμα από το site της Oracle]].   - ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JLayeredPane.html|JLayeredPane]] το οποίο έχει την δυνατότητα να προσδίδει βάθος στα αντικείμενα που περιέχονται στο παράθυρο. Δεν θα ασχοληθούμε περαιτέρω με τη συγκεκριμένη κλάση, καθώς έχει ειδικές εφαρμογές. Μπορείτε να δείτε το σχετικό [[https://docs.oracle.com/javase/tutorial/uiswing/components/layeredpane.html|παράδειγμα από το site της Oracle]].
-  - ένα //content pane// (συνήθως είναι αντικείμενο της κλάσης [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JPanel.html|JPanel]])+  - ένα //content pane//, δηλαδή ο χώρος στον οποίο θα τοποθετηθεί το περιεχόμενο του παραθύρου. Συνήθως τοποθετείται σε αυτό ένα αντικείμενο της κλάσης [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JPanel.html|JPanel]].
   - ένα [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JMenuBar.html|menu]] που τοποθετείται ακριβώς πάνω από το //content pane//.   - ένα [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JMenuBar.html|menu]] που τοποθετείται ακριβώς πάνω από το //content pane//.
-  - ένα //component// που ονομάζεται Glass Pane και τοποθετείται πάνω από το JLayeredPane.+  - ένα //component// που ονομάζεται Glass Pane και τοποθετείται πάνω από το [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JLayeredPane.html|JLayeredPane]], προκειμένου να πιάσει με τη βοήθεια του ποντικιού events πάνω από άλλα αντικείμενα. Και αυτό δεν θα μας απασχολήσει στη συνέχεια, καθώς έχει ειδικές εφαρμογές.
  
-Το παρακάτω σχήμα από το [[https://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html#rootpane|site της Oracle]] δίνει εποπτικά την παραπάνω διάκριση των περιεχομένων του [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JRootPane.html|JRootPane]].+Το παρακάτω σχήμα από το [[https://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html#rootpane|site της Oracle]] δίνει εποπτικά την παραπάνω διάκριση των περιεχομένων του [[https://docs.oracle.com/javase/8/docs/api/javax/swing/JRootPane.html|JRootPane]]. Δεν θα ασχοληθούμε περαιτέρω με την κλάση **JRootPane**, αλλά θα επικεντρωθούμε στο //content pane// και το //menu bar// που αυτό περιέχει (στοιχεία 2 και 3 από την παραπάνω λίστα).
  
 {{  :swing:ui-rootpane.gif  |}} {{  :swing:ui-rootpane.gif  |}}
Line 70: Line 70:
     * **public JFrame()**: default κατασκευαστής του παραθύρου.     * **public JFrame()**: default κατασκευαστής του παραθύρου.
     * **public JFrame(String title)**: Κατασκευαστής του παραθύρου στον οποίο ορίζεται και ο τίτλος.     * **public JFrame(String title)**: Κατασκευαστής του παραθύρου στον οποίο ορίζεται και ο τίτλος.
-και τις παρακάτω μεθόδους **α)** σχετικά με το μέγεθος του παραθύρου:+ 
 +και τις παρακάτω μεθόδους 
 + 
 +**α)** σχετικά με το μέγεθος του παραθύρου:
   * **public void setSize(int width, int height)**: Ορισμός του μεγέθους του παραθύρου σε pixels.   * **public void setSize(int width, int height)**: Ορισμός του μεγέθους του παραθύρου σε pixels.
   * **void setSize(int width, int height):** Ορισμός του μεγέθους του παραθύρου σε pixels.   * **void setSize(int width, int height):** Ορισμός του μεγέθους του παραθύρου σε pixels.
Line 82: Line 85:
   * **public void setDefaultCloseOPeration(int operation)**: Αναφέρθηκε προηγούμενα.   * **public void setDefaultCloseOPeration(int operation)**: Αναφέρθηκε προηγούμενα.
  
 +| Προηγούμενο: [[:swing:events | Events & Event Listeners ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:swing:color | Η κλάση JColor ]] |
  
swing/jframe.1521706743.txt.gz · Last modified: 2018/03/22 08:19 (external edit)