Java Swing Tutorial: Πώς να δημιουργήσετε μια εφαρμογή GUI στο Java
Τι είναι το Swing in Java?
Κούνια μέσα Java είναι μια εργαλειοθήκη γραφικού περιβάλλοντος χρήστη (GUI) που περιλαμβάνει τα στοιχεία GUI. Το Swing παρέχει ένα πλούσιο σύνολο γραφικών στοιχείων και πακέτων για τη δημιουργία εξελιγμένων στοιχείων GUI Java εφαρμογές. Το Swing είναι μέρος του Java Foundation Τάξεις (JFC), το οποίο είναι ένα API για Java Προγραμματισμός GUI που παρέχει GUI.
Τα Διαχωριστικά Java Η βιβλιοθήκη Swing είναι χτισμένη στην κορυφή του Java Abstract Widget Toolkit (AWT), μια παλαιότερη εργαλειοθήκη GUI που εξαρτάται από την πλατφόρμα. Μπορείτε να χρησιμοποιήσετε το Java απλά στοιχεία προγραμματισμού GUI όπως κουμπί, πλαίσιο κειμένου κ.λπ., από τη βιβλιοθήκη και δεν χρειάζεται να δημιουργήσετε τα στοιχεία από την αρχή.
Σε αυτή τη Java Εκμάθηση Swing, θα μάθετε Java Βασικά στοιχεία GUI όπως-
Java Διάγραμμα ιεραρχίας κλάσης Swing
Όλα τα εξαρτήματα σε Java Τα Swing είναι JComponent που μπορούν να προστεθούν σε κατηγορίες κοντέινερ.
Τι είναι μια κατηγορία κοντέινερ;
Οι κλάσεις κοντέινερ είναι κλάσεις που μπορούν να έχουν άλλα στοιχεία πάνω τους. Έτσι για τη δημιουργία ενός Java Swing GUI, χρειαζόμαστε τουλάχιστον ένα αντικείμενο κοντέινερ. Υπάρχουν 3 τύποι Java Κούνια δοχεία.
- Panel: Είναι ένα σκέτο δοχείο και δεν είναι παράθυρο από μόνο του. Ο μοναδικός σκοπός ενός πίνακα είναι να οργανώσει τα στοιχεία σε ένα παράθυρο.
- κορνίζα: Είναι ένα πλήρως λειτουργικό παράθυρο με τον τίτλο και τα εικονίδια του.
- διάλογος: Μπορεί να θεωρηθεί σαν ένα αναδυόμενο παράθυρο που αναδύεται όταν πρέπει να εμφανιστεί ένα μήνυμα. Δεν είναι ένα πλήρως λειτουργικό παράθυρο όπως το Frame.
Σε τι είναι το GUI Java?
GUI (γραφική διεπαφή χρήστη) σε Java είναι ένα εύκολο στη χρήση εργαλείο δημιουργίας οπτικών εμπειριών για Java εφαρμογές. Αποτελείται κυρίως από γραφικά στοιχεία όπως κουμπιά, ετικέτες, παράθυρα κ.λπ. μέσω των οποίων ο χρήστης μπορεί να αλληλεπιδράσει με μια εφαρμογή. Το GUI παίζει σημαντικό ρόλο στη δημιουργία εύκολων διεπαφών Java εφαρμογές.
Πώς να δημιουργήσετε ένα GUI σε Java με Παράδειγμα
Τώρα σε αυτό Java Εκμάθηση GUI, ας καταλάβουμε πώς να δημιουργήσουμε ένα GUI σε Java με κούνιες μέσα Java παραδείγματα.
Βήμα 1) Αντιγράψτε τον κώδικα σε ένα πρόγραμμα επεξεργασίας
Στο πρώτο βήμα Αντιγράψτε τον παρακάτω κώδικα σε ένα πρόγραμμα επεξεργασίας.
import javax.swing.*; class gui{ public static void main(String args[]){ JFrame frame = new JFrame("My First GUI"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); JButton button = new JButton("Press"); frame.getContentPane().add(button); // Adds Button to content pane of frame frame.setVisible(true); } }
Βήμα 2) Εκτελέστε τον κωδικό
Επόμενο βήμα, Αποθήκευση, Μεταγλώττιση και Εκτέλεση του κώδικα
Βήμα 3) Αντιγράψτε τον ακόλουθο κώδικα σε ένα πρόγραμμα επεξεργασίας
Τώρα ας προσθέσουμε ένα κουμπί στο πλαίσιο μας. Αντιγράψτε τον παρακάτω κώδικα σε ένα πρόγραμμα επεξεργασίας από το δεδομένο Java Παράδειγμα διεπαφής χρήστη
import javax.swing.*; class gui{ public static void main(String args[]){ JFrame frame = new JFrame("My First GUI"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); JButton button1 = new JButton("Press"); frame.getContentPane().add(button1); frame.setVisible(true); } }
Βήμα 4) Εκτελέστε τον κωδικό
Στη συνέχεια, εκτελέστε τον κώδικα. Θα πάρετε ένα μεγάλο κουμπί.
Βήμα 5) Προσθέστε δύο κουμπιά
Τι θα λέγατε να προσθέσετε δύο κουμπιά; Αντιγράψτε τον παρακάτω κώδικα σε ένα πρόγραμμα επεξεργασίας.
import javax.swing.*; class gui{ public static void main(String args[]){ JFrame frame = new JFrame("My First GUI"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); JButton button1 = new JButton("Button 1"); JButton button2 = new JButton("Button 2"); frame.getContentPane().add(button1); frame.getContentPane().add(button2); frame.setVisible(true); } }
Βήμα 6) Αποθήκευση και εκτέλεση του προγράμματος
Στη συνέχεια, Αποθήκευση, Μεταγλώττιση και Εκτέλεση του προγράμματος.
Βήμα 7) Ελέγξτε την έξοδο
Απροσδόκητη έξοδος =? Τα κουμπιά επικαλύπτονται.
Java Διαχειριστής διάταξης
Ο Διαχειριστής διάταξης χρησιμοποιείται για τη διάταξη (ή τακτοποίηση) του GUI Java εξαρτήματα μέσα σε ένα δοχείο. Υπάρχουν πολλοί διαχειριστές διάταξης, αλλά οι πιο συχνά χρησιμοποιούμενοι είναι-
Java BorderLayout
A BorderLayout
τοποθετεί τα στοιχεία σε έως και πέντε περιοχές: επάνω, κάτω, αριστερά, δεξιά και κέντρο. Είναι ο προεπιλεγμένος διαχειριστής διάταξης για κάθε java JFrame
Java FlowLayout
FlowLayout
είναι ο προεπιλεγμένος διαχειριστής διάταξης για κάθε JPanel
. Απλώς απλώνει τα στοιχεία σε μια σειρά το ένα μετά το άλλο.
Java GridBagLayout
Είναι η πιο εξελιγμένη από όλες τις διατάξεις. Ευθυγραμμίζει τα στοιχεία τοποθετώντας τα μέσα σε ένα πλέγμα κελιών, επιτρέποντας στα συστατικά να εκτείνονται σε περισσότερα από ένα κελιά.
Βήμα 8) Δημιουργία πλαισίου συνομιλίας
Τι θα λέγατε να δημιουργήσετε ένα πλαίσιο συνομιλίας όπως παρακάτω;
Προσπαθήστε να κωδικοποιήσετε τον εαυτό σας πριν δείτε το παρακάτω πρόγραμμα.
//Usually you will require both swing and awt packages // even if you are working with just swings. import javax.swing.*; import java.awt.*; class gui { public static void main(String args[]) { //Creating the Frame JFrame frame = new JFrame("Chat Frame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 400); //Creating the MenuBar and adding components JMenuBar mb = new JMenuBar(); JMenu m1 = new JMenu("FILE"); JMenu m2 = new JMenu("Help"); mb.add(m1); mb.add(m2); JMenuItem m11 = new JMenuItem("Open"); JMenuItem m22 = new JMenuItem("Save as"); m1.add(m11); m1.add(m22); //Creating the panel at bottom and adding components JPanel panel = new JPanel(); // the panel is not visible in output JLabel label = new JLabel("Enter Text"); JTextField tf = new JTextField(10); // accepts upto 10 characters JButton send = new JButton("Send"); JButton reset = new JButton("Reset"); panel.add(label); // Components Added using Flow Layout panel.add(tf); panel.add(send); panel.add(reset); // Text Area at the Center JTextArea ta = new JTextArea(); //Adding Components to the frame. frame.getContentPane().add(BorderLayout.SOUTH, panel); frame.getContentPane().add(BorderLayout.NORTH, mb); frame.getContentPane().add(BorderLayout.CENTER, ta); frame.setVisible(true); } }