This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
swing:jframe [2021/04/13 05:33] |
swing:jframe [2021/04/13 06:33] gthanos [Δομικά στοιχεία ενός JFrame] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Η κλάση JFrame ====== | ||
| + | |||
| + | H κλάση [[https:// | ||
| + | |||
| + | <code java FrameDemo.java> | ||
| + | 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(" | ||
| + | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
| + | |||
| + | JLabel emptyLabel = new JLabel("" | ||
| + | emptyLabel.setPreferredSize(new Dimension(200, | ||
| + | frame.getContentPane().add(emptyLabel, | ||
| + | |||
| + | // 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' | ||
| + | javax.swing.SwingUtilities.invokeLater(new Runnable() { | ||
| + | public void run() { | ||
| + | createAndShowGUI(); | ||
| + | } | ||
| + | }); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === Παρατηρήσεις πάνω στον κώδικα === | ||
| + | |||
| + | - Η εκτέλεση του κώδικα που αφορά το παραθυρικό περιβάλλον //swing// γίνεται μέσα από την κλήση της στατικής μεθόδου [[https:// | ||
| + | - H κλάση JFrame παράγει ένα αντικείμενο που αντιστοιχεί στο παράθυρο. Η παράμετρος τύπου String στον κατασκευαστή αντιστοιχεί στον τίτλο που θα φέρει το παράθυρο. | ||
| + | - Η μέθοδος [[https:// | ||
| + | * JFrame.**DO_NOTHING_ON_CLOSE**: | ||
| + | * JFrame.**HIDE_ON_CLOSE**: | ||
| + | * JFrame.**DISPOSE_ON_CLOSE**: | ||
| + | * JFrame.**EXIT_ON_CLOSE**: | ||
| + | - Η μέθοδος JFrame.pack υπολογίζει το μέγεθος του παραθύρου. | ||
| + | - Η μέθοδος JFrame.setVisible(boolean value) κάνει το παράθυρο ορατό προς τον τελικό χρήστη. | ||
| + | |||
| + | <WRAP tip 80% center round> | ||
| + | Η μέθοδος **w.setVisible(true)**, | ||
| + | </ | ||
| + | |||
| + | ===== Δομικά στοιχεία ενός JFrame ===== | ||
| + | |||
| + | Από τι αποτελείται όμως ένα αντικείμενο της κλάσης [[https:// | ||
| + | - ένα αντικείμενο της κλάσης [[https:// | ||
| + | - ένα //content pane//, δηλαδή ο χώρος στον οποίο θα τοποθετηθεί το περιεχόμενο του παραθύρου. Συνήθως τοποθετείται σε αυτό ένα αντικείμενο της κλάσης [[https:// | ||
| + | - ένα [[https:// | ||
| + | - ένα // | ||
| + | |||
| + | Το παρακάτω σχήμα από το [[https:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Βασικές μέθοδοι της κλάσης JFrame ===== | ||
| + | |||
| + | Η κλάση **JFrame** έχει τους εξής κατασκευαστές: | ||
| + | * **public JFrame()**: default κατασκευαστής του παραθύρου. | ||
| + | * **public JFrame(String title)**: Κατασκευαστής του παραθύρου στον οποίο ορίζεται και ο τίτλος. | ||
| + | |||
| + | και τις παρακάτω μεθόδους | ||
| + | |||
| + | **α)** σχετικά με το μέγεθος του παραθύρου: | ||
| + | * **public void setSize(int width, int height)**: Ορισμός του μεγέθους του παραθύρου σε pixels. | ||
| + | * **void setSize(int width, int height):** Ορισμός του μεγέθους του παραθύρου σε pixels. | ||
| + | * **void setBound(int x, int y, int width, int height):** Ορίζει τη θέση του παραθύρου στην οθόνη και το μέγεθος του παραθύρου κατά τη δημιουργία του. | ||
| + | **β)** Σχετικά με το περιεχόμενο του παραθύρου: | ||
| + | * **void setContentPane(Container): | ||
| + | * **Container getContentPane(): | ||
| + | * **public void add(Component componentToAdd)**: | ||
| + | * **public void setLayout(LayoutManager manager)**: Ορίζει το layout για το παράθυρο. Θα δούμε πιο κάτω τι είναι το layout και θα δούμε επίσης τα πιο ενδιαφέροντα layouts. | ||
| + | * **public void setMenuBar(JMenuBar menubar)**: Ορίζει το αντικείμενο της μπάρας για το μενού στο παράθυρο. | ||
| + | * **public void setDefaultCloseOPeration(int operation)**: | ||
| + | |||
| + | | Προηγούμενο: | ||