Το GUI αντιπροσωπεύει το Graphical User Interface, έναν όρο που χρησιμοποιείται όχι μόνο σε Ιάβα αλλά σε όλες τις γλώσσες προγραμματισμού που υποστηρίζουν την ανάπτυξη των GUI. Η γραφική διεπαφή χρήστη ενός προγράμματος παρουσιάζει ένα εύκολο στη χρήση οπτική εμφάνιση στον χρήστη. Αποτελείται από γραφικά στοιχεία (π.χ. κουμπιά, ετικέτες, παράθυρα) μέσω των οποίων ο χρήστης μπορεί να αλληλεπιδράσει με τη σελίδα ή εφαρμογή.
Για να δημιουργήσετε γραφικές διεπαφές χρηστών σε Java, χρησιμοποιήστε είτε Swing (παλαιότερες εφαρμογές) είτε JavaFX.
Τυπικά στοιχεία
ΕΝΑ GUI περιλαμβάνει μια σειρά από στοιχεία διεπαφής χρήστη - που σημαίνει μόνο όλα τα στοιχεία που εμφανίζονται όταν εργάζεστε σε μια εφαρμογή. Αυτά μπορεί να περιλαμβάνουν:
- Έλεγχοι εισαγωγής, όπως κουμπιά, αναπτυσσόμενες λίστες, πλαίσια ελέγχου και πεδία κειμένου.
- Πληροφοριακά στοιχεία όπως ετικέτες, banners, εικονίδια ή διαλόγους ειδοποίησης.
- Στοιχεία πλοήγησης, συμπεριλαμβανομένων πλευρικών λωρίδων, ψωμιού και μενού.
Java GUI πλαίσια: Swing και JavaFX
Η Java έχει συμπεριλάβει το Swing, ένα API για τη δημιουργία GUI, στην έκδοση Java Standard Edition από την Java 1.2 ή το 2007. Έχει σχεδιαστεί με αρθρωτή αρχιτεκτονική έτσι ώστε τα στοιχεία να είναι εύκολα plug-and-play και μπορούν να προσαρμοστούν. Από καιρό ήταν το API επιλογής για προγραμματιστές Java κατά τη δημιουργία GUI.
JavaFX έχει επίσης εδώ και πολύ καιρό - η Sun Microsystems, η οποία ανήκει στην Java πριν από τον σημερινό ιδιοκτήτη της Oracle, κυκλοφόρησε την πρώτη έκδοση το 2008, αλλά δεν κέρδισε πραγματικά έλξη μέχρι να αγοράσει η Oracle από την Oracle Ήλιος.
Η πρόθεση της Oracle είναι να αντικαταστήσει τελικά την Swing με το JavaFX. Το Java 8, κυκλοφόρησε το 2014, ήταν η πρώτη έκδοση που περιλάμβανε το JavaFX στην κεντρική διανομή.
Εάν είστε νέοι στην Java, θα πρέπει να μάθετε JavaFX αντί Swing, αν και ίσως χρειαστεί κατανοήσουν το Swing επειδή τόσες πολλές εφαρμογές το ενσωματώνουν και τόσοι πολλοί προγραμματιστές εξακολουθούν να είναι ενεργά τη χρήση του.
Το JavaFX διαθέτει ένα εντελώς διαφορετικό σύνολο γραφικών στοιχείων, καθώς και μια νέα ορολογία και έχει πολλά χαρακτηριστικά που αλληλεπιδρούν με τον προγραμματισμό ιστού, όπως (CSS), ένα στοιχείο web για την ενσωμάτωση μιας ιστοσελίδας μέσα σε μια εφαρμογή FX και τη λειτουργικότητα για την αναπαραγωγή web πολυμέσων περιεχόμενο.
Σχεδιασμός και Ευχρηστία
Εάν είστε προγραμματιστής εφαρμογών, πρέπει να λάβετε υπόψη σας όχι μόνο τα εργαλεία και τα προγραμματιστικά widget σας θα χρησιμοποιήσει για να δημιουργήσει το GUI σας, αλλά επίσης να γνωρίζει τον χρήστη και πώς θα αλληλεπιδράσει με το εφαρμογή.
Για παράδειγμα, είναι η εφαρμογή διαισθητική και εύκολη στην πλοήγηση; Μπορεί ο χρήστης να βρει αυτό που χρειάζεται στις αναμενόμενες θέσεις; Να είστε συνεπείς και προβλέψιμοι σχετικά με το πού τοποθετείτε τα πράγματα - για παράδειγμα, οι χρήστες γνωρίζουν τα στοιχεία πλοήγησης στις κορυφαίες γραμμές μενού ή τις αριστερές πλευρικές γραμμές. Η προσθήκη της πλοήγησης σε μια δεξιά πλαϊνή γραμμή ή στο κάτω μέρος θα κάνει την εμπειρία του χρήστη πιο δύσκολη.
Άλλα θέματα μπορεί να περιλαμβάνουν τη διαθεσιμότητα και τη δύναμη οποιουδήποτε μηχανισμού αναζήτησης, τη συμπεριφορά της εφαρμογής όταν εμφανίζεται ένα σφάλμα και, φυσικά, τη γενική αισθητική της εφαρμογής.
Η χρηστικότητα είναι ένα πεδίο από μόνο του, αλλά μόλις έχετε καταφέρει να μάθετε τα εργαλεία για τη δημιουργία GUI, μάθετε τα βασικά του τη χρησιμότητά σας για να διασφαλίσετε ότι η εφαρμογή σας έχει μια εμφάνιση και αίσθηση που θα την καταστήσει ελκυστική και χρήσιμη για τους χρήστες της.