Σπίτι Προσωπικά Οικονομικά 10 διαφορές μεταξύ JavaFX και Swing - dummies

10 διαφορές μεταξύ JavaFX και Swing - dummies

Πίνακας περιεχομένων:

Βίντεο: AEGIS project video 2024

Βίντεο: AEGIS project video 2024
Anonim

Εάν είστε έμπειρος προγραμματιστής Java, έχετε αναμφισβήτητα δουλέψει με το Swing για να δημιουργήσετε διεπαφές χρήστη. Η Oracle δεν έχει εγκαταλείψει εντελώς την Swing - δεν είναι απογοητευμένη και οι εφαρμογές Swing συνεχίζουν να λειτουργούν. Αλλά δεν γίνεται πλέον καμία δουλειά για την ενίσχυση της Swing και η Oracle έχει καταστήσει σαφές ότι το JavaFX είναι το μέλλον.

Εδώ είναι δέκα βασικές διαφορές μεταξύ του JavaFX και του Swing.

Στην JavaFX, όλα τα επίπεδα σε όλο τον κόσμο

Στην κλάση Swing, η κλάση που περιέχει τα στοιχεία διεπαφής χρήστη ονομάζεται πλαίσιο και ορίζεται από την κλάση JFrame. Ένα πλαίσιο είναι ουσιαστικά ένα κενό παράθυρο στο οποίο μπορείτε να προσθέσετε ένα πάνελ , που χρησιμεύει ως δοχείο για τα στοιχεία διεπαφής χρήστη. Ο πίνακας ορίζεται από την κλάση JPanel.

Μια εφαρμογή Swing είναι στην πραγματικότητα μια τάξη που επεκτείνει την κλάση JFrame. Για να εμφανίσετε τα στοιχεία διεπαφής χρήστη, προσθέτετε εξαρτήματα σε ένα JPanel και στη συνέχεια προσθέστε τον πίνακα στο πλαίσιο.

Το JavaFX χρησιμοποιεί τη μεταφορά ενός θεάτρου για να μοντελοποιήσει τα δοχεία του ανώτερου επιπέδου μιας εφαρμογής. Ένα στάδιο (που ορίζεται από την κλάση Stage) αντιπροσωπεύει το δοχείο με το υψηλότερο επίπεδο - συνήθως ένα παράθυρο, αλλά σε ορισμένα λειτουργικά συστήματα, το στάδιο μπορεί να αντιπροσωπεύει ολόκληρη την επιφάνεια της οθόνης. Τα επιμέρους στοιχεία ελέγχου και τα άλλα στοιχεία που συνθέτουν τη διεπαφή χρήστη περιέχονται σε μια σκηνή (καθορίζεται από την κατηγορία σκηνών). Μια εφαρμογή μπορεί να έχει περισσότερες από μία σκηνές, αλλά μόνο μία από τις σκηνές μπορεί να εμφανίζεται στη σκηνή ανά πάσα στιγμή.

Μια σκηνή περιέχει ένα γράφημα σκηνής , το οποίο είναι η πιο σημαντική έννοια στο JavaFX. Το γράφημα σκηνής είναι μια συλλογή όλων των στοιχείων που αποτελούν ένα περιβάλλον εργασίας χρήστη - ομάδες, διατάξεις, στοιχεία ελέγχου και σχήματα. Αυτά τα αντικείμενα ονομάζονται κόμβοι και όλα προέρχονται από την κλάση κόμβων. Η κλάση Node έχει πολλές χρήσιμες δυνατότητες και δυνατότητες που καθίστανται αυτόματα διαθέσιμες σε οποιοδήποτε αντικείμενο μπορείτε να προσθέσετε στο περιβάλλον εργασίας χρήστη. Για παράδειγμα, η κλάση κόμβου ορίζει μια setRotate μέθοδο που σας επιτρέπει να περιστρέψετε οποιοδήποτε κόμβο στο γράφημα σκηνής. Στο JavaFX, οι διαχειριστές διάταξης είναι κόμβοι

Σε Swing, μια διάταξη σχεδιάζεται με ένα JPanel. Το κορυφαίο JPanel δίνει τη βασική διάταξη για το πλαίσιο. Αν θέλετε να τοποθετήσετε πρόσθετες διατάξεις στο πλαίσιο της διάταξης ανώτατου επιπέδου, πρέπει να δημιουργήσετε πρόσθετες JPanels, να ορίσετε τις σχετικές διατάξεις και στη συνέχεια να τις προσθέσετε στη διάταξη υψηλότερου επιπέδου.

Στο JavaFX, οι διατάξεις είναι υποκατηγορίες της κλάσης Κόμβου ακριβώς όπως τα στοιχεία ελέγχου και τα σχήματα. Οι διατάξεις περιέχουν μια συλλογή κόμβων και οποιοσδήποτε κόμβος που περιέχεται σε μια διάταξη μπορεί να είναι οποιοδήποτε είδος κόμβου: ένας έλεγχος, ένα σχήμα ή άλλη διάταξη.Αυτό το σχέδιο είναι πολύ λιγότερο δυσκίνητο από τη συσχέτιση των σχέσεων του Swing με τα πάνελ.

Το JavaFX έχει βελτιώσει τη διαχείριση συμβάντων

Τόσο το JavaFX όσο και το Swing χρησιμοποιούν την διαχείριση συμβάντων για να ανταποκριθούν στα συμβάντα εισόδου του χρήστη. Ωστόσο, θα διαπιστώσετε ότι τα γεγονότα στο JavaFX είναι καλύτερα μελετημένα και πιο συνεπή από τα αντίστοιχά τους σε Swing. Αλλά ο μεγαλύτερος χειρισμός συμβάντων για λόγους που βελτιώνεται στο JavaFX οφείλεται στην εξάρτηση από τις ιδιότητες.

Το JavaFX υποστηρίζει ιδιότητες

Το JavaFX υποστηρίζει τις έννοιες

ιδιότητες και χρησιμοποιεί ιδιότητες εκτενώς σε όλες τις κατηγορίες του. Με απλά λόγια, μια ιδιότητα είναι μια μεταβλητή της οποίας η αξία μπορεί να παρατηρηθεί. Μπορείτε να καταχωρήσετε έναν ακροατή με οποιαδήποτε ιδιότητα, επιτρέποντάς σας να γράψετε κώδικα που ενεργοποιείται αυτόματα κάθε φορά που αλλάζει η ιδιότητα. Επιπλέον, μπορείτε να δεσμεύσετε ιδιότητες μεταξύ τους, πράγμα που σημαίνει ότι αν αλλάξει μια τιμή ιδιότητας, η άλλη τιμή ιδιότητας αλλάζει αυτόματα μαζί της. Επειδή σχεδόν όλα τα χαρακτηριστικά των στοιχείων διεπαφής χρήστη διαχειρίζονται μέσω των ιδιοτήτων, το JavaFX παρέχει χειρισμό συμβάντων που είναι άγνωστο στο Swing. Για παράδειγμα, στο JavaFX, μπορείτε να επισυνάψετε έναν ακροατή συμβάντος στο χρώμα ενός σχήματος. Αν το σχήμα αλλάξει χρώμα, εκτελείται ο κωδικός ακρόασης του συμβάντος σας. Μπορεί να μην έχετε κάποια χρήση για τη δυνατότητα, αλλά μπορείτε να τη χρησιμοποιήσετε αν χρειαστεί.

Το JavaFX είναι συμβατό με το CSS

Μία από τις καλύτερες δυνατότητες του JavaFX είναι ότι μπορείτε να ελέγξετε τη μορφοποίηση με τα Φύλλα Στυλ Cascading (CSS). Σχεδόν κάθε πτυχή της εμφάνισης του περιβάλλοντος εργασίας χρήστη μπορεί να οριστεί από έναν κανόνα στυλ και μπορείτε εύκολα να επιτρέψετε στο χρήστη να επιλέξει ποιο από τα διάφορα διαθέσιμα φύλλα στυλ θα εφαρμοστεί στη σκηνή. Έτσι, μπορείτε να αλλάξετε ολόκληρη την εμφάνιση της εφαρμογής σας με μια κλήση μεμονωμένης μεθόδου.

Το JavaFX έχει πιο σταθερά στοιχεία ελέγχου

Γενικά, θα διαπιστώσετε ότι η ιεραρχία ελέγχου JavaFX είναι πιο ολοκληρωμένη από την Swing's. Και οι δύο διαθέτουν όλα τα βασικά στοιχεία ελέγχου - κουμπιά, πλαίσια ελέγχου, κουτιά συνδυασμών και τα παρόμοια. Αλλά το JavaFX έχει αρκετά ενδιαφέροντα στοιχεία ελέγχου που δεν έχει η Swing, όπως το πτυσσόμενο σύστημα TitledPane και ο έλεγχος Accordion που οργανώνει πολλαπλά χειριστήρια TitledPane σε μια στοίβα. Και το γεγονός ότι όλοι αυτοί οι έλεγχοι είναι εφικτοί από το CSS τους δίνει ένα τεράστιο πλεονέκτημα έναντι της Swing.

Το JavaFX έχει ειδικά εφέ

Το javafx. σκηνή. πακέτο εφέ περιέχει μια σειρά κλάσεων που μπορούν εύκολα να εφαρμόσουν ειδικά εφέ σε οποιοδήποτε κόμβο στο γράφημα σκηνής. Αυτές οι κλάσεις σας επιτρέπουν να εφαρμόζετε εύκολα σκιές, αντανακλάσεις, θολές και άλλα ενδιαφέροντα οπτικά εφέ που μπορούν να μεταμορφώσουν την εμφάνιση του περιβάλλοντος χρήστη σας.

Το animation είναι ευκολότερο σε JavaFX

Η κίνηση είναι δυνατή σε Swing, αλλά η Swing δεν παρέχει άμεση υποστήριξη γι 'αυτήν. Για να ζωντανέψετε ένα στοιχείο Swing, πρέπει να ρυθμίσετε τους δικούς σας χρονομετρητές και να δημιουργήσετε τη δική σας λογική για να εκτελέσετε την κινούμενη εικόνα.

Αντίθετα, το JavaFX διαθέτει ενσωματωμένη υποστήριξη για εξελιγμένες κινούμενες εικόνες που μπορούν να εφαρμοστούν σε οποιονδήποτε κόμβο στο γράφημα σκηνής. Μπορείτε να χρησιμοποιήσετε μία από τις πολλές ενσωματωμένες τάξεις μετάβασης για να εκτελέσετε κοινές κινούμενες εικόνες όπως αποχρώσεις, περιστροφές ή διαδρομές κίνησης.Ή, μπορείτε να χρησιμοποιήσετε τις κλάσεις KeyFrame και Timeline για να ρυθμίσετε εύκολα προσαρμοσμένες κινούμενες εικόνες.

Το JavaFX υποστηρίζει σύγχρονες συσκευές αφής

Το Swing δεν διαθέτει υποστήριξη για σύγχρονες συσκευές αφής. Σε αντίθεση, το JavaFX έχει ενσωματωμένη υποστήριξη για κοινές χειρονομίες αφής, όπως κύλιση, ταλάντωση, περιστροφή και ζουμ. Η διαχείριση αυτών των συμβάντων στο JavaFX είναι τόσο εύκολη όσο και ο χειρισμός οποιουδήποτε άλλου τύπου συμβάντος: Μπορείτε απλά να εγκαταστήσετε έναν ακροατή συμβάντος στο συμβάν αφής και στη συνέχεια να γράψετε κώδικα που να ανταποκρίνεται σωστά.

Το JavaFX δεν έχει ισοδύναμο με το JOptionPane

Δεν θα ήταν δίκαιο να συμπληρώσετε πλήρως αυτή τη λίστα με δέκα διαφορές με σημεία που ευνοούν σαφώς το JavaFX. Εδώ είναι μια μικρή ενόχληση του JavaFX: Δεν έχει ενσωματωμένο ισοδύναμο με την κλάση Swing JOptionpane, το οποίο είναι πολύ βολικό για την εμφάνιση σύντομων μηνυμάτων συναγερμού ή την απλή είσοδο από το χρήστη. Στο JavaFX, πρέπει να δημιουργήσετε το δικό σας ισοδύναμο με αυτό το χρήσιμο μάθημα.

10 διαφορές μεταξύ JavaFX και Swing - dummies

Η επιλογή των συντακτών

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Microsoft SharePoint Workspace είναι ο καλλιτέχνης παλαιότερα γνωστός ως Microsoft Office Groove desktop εφαρμογή προσαρμοσμένη για άτομα που θέλουν να συνεργάζονται σε έγγραφα online και offline. Προσφέρεται μαζί με το Office 2010 και παρέχει μια διεπαφή χρήστη παρόμοια με την Εξερεύνηση των Windows για προβολή και επεξεργασία αρχείων και λιστών από μια τοποθεσία του SharePoint. SharePoint Workspace ...

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Το Site δημοσίευσης του sharePoint 2010 παρέχει μια πλούσια εμπειρία επεξεργασίας καθιστά εύκολο για ένα μη τεχνικό πρόσωπο να δημιουργήσει ιστοσελίδες. Η προσθήκη του περιεχομένου σας στη σελίδα είναι γρήγορη. Το SharePoint παρέχει πολλά είδη δοχείων περιεχομένου που μπορείτε να χρησιμοποιήσετε κατά τη δημιουργία της σελίδας σας, συμπεριλαμβανομένων των πλαισίων κειμένου μιας γραμμής για την εισαγωγή μιας απλής γραμμής κειμένου ...

Για ιστότοπους SharePoint Online - dummies

Για ιστότοπους SharePoint Online - dummies

Μπορείτε να δημιουργήσετε και να αναπτύξετε τρεις κύριους τύπους σελίδων του SharePoint όχι λιγότερο!) - το καθένα με ξεχωριστή λειτουργία: περιεχόμενο, τμήματα Web και εκδόσεις σελίδων. Σελίδα περιεχομένου: Επίσης γνωστή ως σελίδα wiki, αυτό είναι το μαχαίρι ελβετικού στρατού των σελίδων του SharePoint. Μια σελίδα περιεχομένου παρέχει όχι μόνο μια θέση ...

Η επιλογή των συντακτών

Τι είναι ένας χάρτης Java; - ανδρείκελα

Τι είναι ένας χάρτης Java; - ανδρείκελα

Πίνακες και εξειδικευμένες λίστες καθιστούν δυνατή την εκτέλεση μιας εκπληκτικής σειράς εργασιών με την Java. Ωστόσο, υπάρχουν περιπτώσεις όπου μια εφαρμογή Java χρειάζεται κάτι που είναι περισσότερο παρόμοιο με μια βάση δεδομένων, χωρίς να έχει όντως όλες τις αποσκευές της βάσης δεδομένων (όπως η αγορά μιας ξεχωριστής εφαρμογής). Για παράδειγμα, μπορεί να θέλετε να είστε σε θέση ...

Λίγα περίεργα πράγματα για το Java Math - dummies

Λίγα περίεργα πράγματα για το Java Math - dummies

- να έχουν ορισμένους περιορισμούς όταν πρόκειται για υπολογισμό μαθηματικών. Αυτοί οι περιορισμοί είναι συνήθως ασήμαντοι, αλλά μερικές φορές γλιστρίζουν και σας δαγκώνουν. Εδώ είναι τα πράγματα που πρέπει να προσέξετε όταν κάνετε μαθηματικά στην Java. Η

Η επιλογή των συντακτών

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Από τα τρία νέα φίλτρα Blur στο Photoshop CS6, θα έχετε επίσης πρόσβαση σε δύο σχετικούς πίνακες ελέγχου, Εργαλεία θόλωσης και Εφέ θόλωσης, τα οποία περιέχουν τις επιλογές σας. Και τα τρία φίλτρα σας επιτρέπουν να δημιουργήσετε ειδικά εφέ. Blur πεδίου: Δημιουργεί μια συνολική θόλωση στην εικόνα σας. Με την προσθήκη πρόσθετων σημείων ελέγχου ή καρφίτσες, ...

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

, αυτόνομο πλαίσιο Μάσκες στο Photoshop CS6 προς όφελος του πίνακα Ιδιότητες, ο οποίος περιλαμβάνει τώρα τις δυνατότητες των πλαισίων Μάσκες και Προσαρμογές. Δεν υπάρχουν όμως ανησυχίες. Κανένα από τα χαρακτηριστικά που παρείχε προηγουμένως ο πίνακας "Μάσκες" χάθηκε. Ο νέος πίνακας Ιδιότητες σάς δίνει τη δυνατότητα να προσθέσετε, να επεξεργαστείτε και να διαχειριστείτε το στρώμα σας, ...

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Μπορείτε να κάνετε ρεαλιστικές τροποποιήσεις σε εικόνες που έχουν προοπτικά επίπεδα. Με το Σημείο Εκκίνησης, καθορίζετε τα επίπεδα στις εικόνες σας και, στη συνέχεια, χρησιμοποιώντας μια ποικιλία τεχνικών, προσθέστε ή εξαλείψτε αντικείμενα σε αυτά τα αεροπλάνα. Ανοίξτε μια εικόνα που χρειάζεται επεξεργασία. Εάν θέλετε να επικολλήσετε ...