Οπτικός Προγραμματισμός σε NetBeans με Java Swing

Σχετικά έγγραφα
Εργαστήριο 1-1 η Άσκηση - Ανάλυση

VK -14/10/2016 Σελίς 1

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Ειδικά Θέματα Προγραμματισμού

Δημιουργία μιας εφαρμογής Java με το NetBeans

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

Βιοϊατρική τεχνολογία

Αντικειμενοστρεφής Προγραμματισμός

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Εργαστήριο 3 - Άσκηση - Ανάλυση

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:

Εργαστήριο 2 - Άσκηση - Ανάλυση

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Εισαγωγή στο πρόγραμμα Microsoft word 2003

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

VK -14/10/2016 Σελίς 1

Τα Windows Πολύ Απλά και Πολύ Σύντομα

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17

4. ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΤΕΛΟΥ ΠΟΛΥΔΙΑΣΤΑΤΗΣ ΑΝΑΛΥΣΗΣ

Προγραμματισμός Διαδικτύου

Αντικειμενοστρεφής Προγραμματισμός

Week 10: Graphical User Interfaces

4 η Εργαστηριακή Άσκηση

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13

2 η Εργαστηριακή Άσκηση

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #18

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ANDROID Προγραμματισμός Εφαρμογών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Visual Basic Γλώσσα οπτικού

περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 Windows 8 Τα πρώτα βήματα στο Internet 84

Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής

Εργαστήριο 10 Άσκηση 1 - Ανάλυση

Βασίλειος Κοντογιάννης ΠΕ19

Προηγμένες Τεχνικές Διαχείρισης Διαδραστικών Αντικειμένων

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).

To Microsoft Excel XP

Week 12: GUIs with Swing

ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ V ΕΚΠΑΙΔΕΥΤΗΣ ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ

Εργαστήριο 7 - Άσκηση - Ανάλυση

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ

Εργαστήριο 8 - Άσκηση - Ανάλυση

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

. Μεθοδολογία Προγραμματισμού. Καλή και κακή σχεδίαση. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Ενημερώσεις λογισμικού Οδηγός χρήσης

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014

Δημιουργώντας μια εφαρμογή ζωγραφικής. 2 η Εργασία

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εφαρμοσμένη Πληροφορική ΙΙ (Ε) To Ολοκληρωμένο Περιβάλλον Ανάπτυξης (Integrated Development Environment-IDE) Netbeans 8

Microsoft Office. Δρ. Νικόλαος Σγούρος

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

Computing and Information Systems Service. Windows XP

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Ανάπτυξη εφαρμογής Input-Output

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Atlantis - Νέο user interface

Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 1ο μέρος.

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

Συσκευές κατάδειξης και πληκτρολόγιο Οδηγός χρήσης

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

1. Τα τμήματα της επιφάνειας εργασίας των Windows

Συσκευές κατάδειξης και πληκτρολόγιο Οδηγός χρήσης

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Λίγα λόγια από το συγγραφέα Microsoft Word Δημιουργία νέου εγγράφου Το σύστημα Βοήθειας του Word...

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Browsers. Λειτουργικότητα και Παραμετροποίηση

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

Συσκευές δείκτη και πληκτρολόγιο Οδηγός χρήσης

Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ)

Λογισμικό κατασκευής εννοιολογικών χαρτών. Α. Αθανασόπουλος

ΑΛΕΞΑΝΔΡΕΙΟ ΣΕΙ ΘΕΑΛΟΝΙΚΗ ΣΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ Σ.Ε. ΜΑΘΗΜΑ : ΑΛΓΟΡΙΘΜΙΚΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΔΙΔΑΚΩΝ : ΓΟΤΛΙΑΝΑ ΚΩΣΑ

Atlantis - Νέο user interface

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

Ανάπτυξη εφαρμογής Input-Output

Ανάπτυξη Plugins για το AgentSheets

Συνέδριο ΕΛΛΑΚ Open Source λογισμικό σε εφαρμογές του δημόσιου και ιδιωτικού τομέα

ΥΠΕΠΘ / ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή.

Αναλυτικός οδηγός της ενημέρωσης των Windows 8.1

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ

ΤΕΙ Πελοποννήσου Τμήμα Πληροφορικής. Οδηγίες Εγκατάστασης VPN Σύνδεσης στο ΤΕΙ Πελοποννήσου

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

Οδηγός Σύγχρονης Τηλεκπαίδευσης για καθηγητές

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Transcript:

Οπτικός Προγραμματισμός σε NetBeans με Java Swing 1 NetBeans Το NetBeans είναι το επίσημο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE - Integrated Development Environment) για υλοποίηση εφαρμογών σε Java 8. Το NetBeans είναι ένα ελεύθερο λογισμικό της Oracle που προσφέρει ένα πλήρες προγραμματιστικό περιβάλλον δημιουργίας εφαρμογών Desktop και Web. Ο ενδιαφερόμενος προγραμματιστής μπορεί να το κατεβάσει από την επίσημη ιστοσελίδα του NetBeans https://netbeans.org/downloads/. Υποστηρίζει μία πληθώρα εργαλείων όπως Java SE, HTML5, Java EE, PHP, C/C++, και Java ME για τη δημιουργία εφαρμογών γρήγορα και εύκολα χρησιμοποιώντας τους editors του με δυνατότητες drag-and-drop κατά τη σχεδίαση Γραφικών Διεπαφών Χρήστη. 1.1 Δημιουργία Project Για να δημιουργήσουμε μία εφαρμογή σε Java με το NetBeans, το πρώτο βήμα είναι να δημιουργήσουμε ένα project. Όπως φαίνεται στην Εικόνα 1 επιλέγουμε το μενού «File» και έπειτα την επιλογή «New Project». Εικόνα 1: Δημιουργία Project Ευκλείδης Κεραμόπουλος Σελίδα 1

Στη συνέχεια επιλέγουμε το «Project» να είναι τύπου «Java Application» και πατάμε το πλήκτρο «Next» όπως φαίνεται στην Εικόνα 2. Εικόνα 2: Επιλέγουμε Java Project Στo τελευταίο βήμα δημιουργίας του «Project» (Εικόνα 3) δίνουμε ένα όνομα στο «Project» π.χ. «Example1», ορίζουμε που θα αποθηκευτεί το «Project» στο «Project Location», αφαιρούμε όλα τα ticks από τα κουτάκια όπως το «Create Main Class» και πατάμε το κουμπί «Finish». Το αποτέλεσμα φαίνεται στην Εικόνα 4. Εικόνα 3: Ονομασία Project Ευκλείδης Κεραμόπουλος Σελίδα 2

Εικόνα 4: Το Project "Example1" Αν αργότερα θελήσουμε να μελετήσουμε τις ιδιότητες του «Project» τότε πατάμε με το δεξί πλήκτρο του ποντικιού πάνω στο όνομα του «Project» και επιλέγουμε «Properties». Τις ιδιότητες του «Project» τις βλέπουμε στην Εικόνα 5. 1.2 Δημιουργία JFrame Form Εικόνα 5: Οι ιδιότητες του Project Για να δημιουργήσουμε Διεπαφή Χρήστη με προσέγγιση Οπτικού Προγραμματισμού στο NetBeans θα πρέπει να δημιουργήσουμε ένα νέο JFrame Form πρώτα. Αυτό γίνεται πατώντας το δεξί πλήκτρο του ποντικιού επάνω στο όνομα του «Project», δηλαδή «Example1», στη συνέχεια επιλέγοντας διαδοχικά «New» και «JFrame Form», όπως φαίνεται Εικόνα 6. Ευκλείδης Κεραμόπουλος Σελίδα 3

Εικόνα 6: Δημιουργία νέου JFrame Form Στη συνέχεια δίνουμε ένα όνομα στο «JFrame Form», όπως «Test1», όπως φαίνεται στην Εικόνα 7, και πατάμε το κουμπί «Finish». Φυσικά μπορείτε αν θέλετε να δώσετε και κάποιο όνομα στο «Package» για να οργανώσετε καλύτερα τα αρχεία σας. Εικόνα 7: Ονομασία JFrame Form Έτσι, δημιουργείτε ένα άδειο «JFrame Form» όπως φαίνεται στην Εικόνα 8. Ευκλείδης Κεραμόπουλος Σελίδα 4

Εικόνα 8: JFrame Form Test1.java Στην παρακάτω Εικόνα 9, τα βασικά λειτουργικά στοιχεία του JFrame Form έχουν τονισθεί με κόκκινο χρώμα και σχόλια. Πιο αναλυτικά: Στην πάνω αριστερή γωνία παρουσιάζονται όλα τα αρχεία που συνθέτουν το «Project». Παρατηρούμε ότι αρχικά στο «default package» (αφού δεν δώσαμε όνομα στο package) υπάρχει ένα αρχείο Java, το Test1. Επίσης, στις βιβλιοθήκες έχει φορτωθεί το τρέχον JDK με το οποίο έχουμε συνδέσει το NetBeans κατά την εγκατάστασή του στον υπολογιστή. Στη συνέχεια λίγο δεξιότερα (πάνω και κέντρο) παρατηρούμε δύο κουμπιά, το «Source» και το «Design». Με αυτά μεταφερόμαστε από το περιβάλλον του κώδικα στη φόρμα σχεδίασης (είναι η τρέχον εικόνα που εμφανίζεται στην Εικόνα 9). Στην Εικόνα 10 φαίνεται το περιβάλλον του κώδικα. Αν παρατηρήσετε προσεχτικά τον κώδικα θα προσέξετε ότι στη γραμμή 26 αναφέρετε η φράση «Generated Code». Είναι ο κώδικας που δημιουργείτε αυτόματα όταν δημιουργείτε ένα νέο «JFrame Form» ή όποτε προστίθενται νέα δομικά υλικά σε μία διεπαφή. Δεξιά και πάνω είναι τοποθετημένη η εργαλειοθήκη της «Java Swing». Κάθε συστατικό της εργαλειοθήκης της «Java Swing» τοποθετείται στον καμβά με λειτουργία «συρσίματος» (drag&drop). Δηλαδή, επιλέγουμε ένα συστατικό από την εργαλειοθήκη της «Java Swing» με το αριστερό πλήκτρο του ποντικιού και χωρίς να αφήσουμε το πλήκτρο μεταφέρουμε το συστατικό στον καμβά. Όταν φέρουμε το συστατικό στο σημείο του καμβά που θέλουμε, αφήνουμε το πλήκτρο του ποντικιού. Τότε το συστατικό τοποθετείται στην κατάλληλη θέση Ευκλείδης Κεραμόπουλος Σελίδα 5

και ο αντίστοιχος κώδικας προστίθεται στο «Generated Code» στο περιβάλλον του κώδικα. Στο κέντρο της οθόνης είναι ο καμβάς. Ο καμβάς είναι ουσιαστικά ένα ολοκληρωμένο παράθυρο του λειτουργικού περιβάλλοντος. Στην Εικόνα 11 εμφανίζετε η μορφή που παίρνει ο καμβάς (JFrame Form) όταν εκτελεστεί η εφαρμογή. Είναι ένα κλασικό παράθυρο του λειτουργικού το οποίο περιέχει τις λειτουργίες «ελαχιστοποίησης (minimize)», «επαναφοράς (restore) μεγιστοποίησης (maximize)» και «κλεισίματος (close)» του παραθύρου. Στο κάτω μέρος της Οθόνης, είναι το παράθυρο εξόδου του προγράμματος (Output), όπου παρουσιάζονται σχόλια/λάθη/αποτελέσματα της εφαρμογής κατά το στάδιο εκτέλεσης. Τέλος, στην κάτω αριστερή γωνία εμφανίζονται τα δομικά στοιχεία της εφαρμογής. Επειδή, η Java Swing είναι αντικειμενοστρεφής γλώσσα προγραμματισμού όλα τα δομικά στοιχεία χτίζονται ιεραρχικά. Η ιεραρχία όλων των δομικών στοιχείων της διεπαφής παρουσιάζονται σ αυτό το σημείο του παραθύρου της εφαρμογής. Εικόνα 9: JFrame Form Ευκλείδης Κεραμόπουλος Σελίδα 6

Εικόνα 10: To περιβάλλον του κώδικα Εικόνα 11: Εκτέλεση JFrame Form 2 Java Swing To JAVA SWING είναι ένα API της JAVA το οποίο χρησιμοποιείται για την κατασκευή Γραφικών Διεπαφών Χρήστη. Ανήκει στις Java Foundation Classes (JFC) και είναι η εξέλιξη και αντικαταστάτης του Abstract Window Toolkit (AWT) της Java. Βασίζεται στο μοντέλο MVC (Model View Control) και ακολουθεί τη φιλοσοφία της αποστολής γεγονότων γλώσσας προγραμματισμού ή μηχανισμού ειδοποιήσεων event driven programming. Οι JFC είναι συλλογές από κλάσεις που χρησιμοποιούνται για τη δημιουργία γραφικών διεπαφών χρήστη με πλούσια γραφική λειτουργικότητα και διάδραση. Αποτελείται από πέντε μέρη: 1. Swing GUI Components. Περιέχει κλάσεις για γραφικά συστατικά από τα οποία αποτελείται μία γραφική διεπαφή. Ειδικότερα, περιλαμβάνει κλασικά στοιχεία σύγχρονων γραφικών διεπαφών όπως menu, frames, buttons, ColorChooser, Ευκλείδης Κεραμόπουλος Σελίδα 7

Combobox, FileChooser, JEditorPane, List, OptionPane, ProgressBar, ScrollPane, Slider, SplitPane, TabbedPane, Table, ToolTips, Tree. 2. Pluggable Look-and-Feel Support. Με αυτό το χαρακτηριστικό δίνει την δυνατότητα στον προγραμματιστή να δημιουργήσει γραφική διεπαφή, όπου ο χρήστης θα μπορεί να ρυθμίσει την εμφάνιση και αίσθηση της διεπαφής σύμφωνα με τις δικές του προτιμήσεις. Τέσσερις μορφές είναι διαθέσιμες: (α) Metal (Java), (β) Windows (Microsoft), (γ) Motif (XWindows) και (δ) User Defined. 3. Accessibility API. Περιέχει τάξεις και μεθόδους που κάνουν εύχρηστη τη διεπαφή για ανθρώπους με ειδικές ικανότητες, επιτρέποντας τη χρήση σχετικών συσκευών, screen readers και Braille. 4. Java 2D API. Περιέχει τάξεις και μεθόδους για τη χρήση υψηλής ποιότητας γραφικών 2D, κειμένου και εικόνων σε εφαρμογές και applets αλλά και δημιουργία υψηλής ποιότητας εκτυπώσεων. 5. Internationalization. Διευκολύνει τη δημιουργία διεπαφών που απευθύνονται σε χρήστες από διαφορετικές χώρες και οι οποίοι χρησιμοποιούν διαφορετική γλώσσα. Το Java Swing API είναι τεράστιο και αποτελείται από δεκαοχτώ public packages: javax.accessibility javax.swing javax.swing.border javax.swing.colorchooser javax.swing.event javax.swing.filechooser javax.swing.plaf (Το plaf είναι τα αρχικά για το pluggable look-and-feel) javax.swing.plaf.basic javax.swing.plaf.metal javax.swing.plaf.multi javax.swing.plaf.synth javax.swing.table javax.swing.text javax.swing.text.html javax.swing.text.html.parser javax.swing.text.rtf javax.swing.tree javax.swing.undo Όπως αναφέρθηκε, στην αρχική έκδοση της Java το API AWT (Abstract Window Toolkit) χρησιμοποιούταν για τη δημιουργία γραφικών Διεπιφανειών Χρήστη. To AWT υποστηρίζει τάξεις οι οποίες υλοποιούν τα βασικά στοιχεία μιας διεπιφάνειας. Ο λόγος της ριζικής Ευκλείδης Κεραμόπουλος Σελίδα 8

βελτίωσης του AWT με τη SWING ήταν ότι η μετάφραση των οπτικών (visual) συστατικών του AWT ήταν εξαρτημένη από τη πλατφόρμα (λειτουργικό) όπου δημιουργούνταν. Έτσι τα συστατικά του μεταφράζονταν σε native code και χαρακτηρίζονταν ως «βαριά» συστατικά. Φυσικά αυτό οδηγούσε σε τρία σημαντικά προβλήματα: Δεν μπορούσε να υλοποιηθεί το μοτο της JAVA (γράψε μία φορά, τρέξτο παντού) Η αίσθηση των συστατικών ενός GUI όταν εκτελούνταν σε άλλο λειτουργικό δεν μπορούσε να αλλάξει εύκολα. Τα «βαριά» συστατικά του AWT δεν ήταν ευέλικτα και συνήθως είχαν περιορισμούς στην εμφάνιση Το Java Swing API δημιουργήθηκε το 1997 ως ανάγκη για να λύσει τα προβλήματα του AWT. Το πρώτο κύριο χαρακτηριστικό της Swing είναι ότι η μεγάλη πλειοψηφία των συστατικών της είναι «ελαφριά», δηλαδή είναι γραμμένα αποκλειστικά σε Java. Αυτό είναι σημαντικό πλεονέκτημα, αφού τα συστατικά είναι πιο ευέλικτα και πιο ευμετάβλητα και μας δίνετε η δυνατότητα να προσαρμόσουμε τις ιδιότητες της εμφάνισης και λειτουργίας των συστατικών σύμφωνα με τις προτιμήσεις μας μάλιστα αυτό μπορεί να γίνει και δυναμικά κατά την εκτέλεση της εφαρμογής. Το δεύτερο βασικό χαρακτηριστικό της Swing είναι η πλήρης υποστήριξη της Pluggable Look-and-Feel Support της JFC, όπως περιγράφτηκε παραπάνω. Αποτέλεσμα αυτών των δύο χαρακτηριστικών αλλά και το ότι η Swing βασίζεται στο μοντέλο MVC είναι ότι μπορεί να χωριστεί η εμφάνιση και αίσθηση των συστατικών μίας διεπιφάνειας από τη λειτουργία της. Με άλλα λόγια είναι δυνατόν να δημιουργηθούν πολλές διαφορετικές διεπιφάνειες για την ίδια εφαρμογή. 3 Υλοποίηση διεπαφών με Java Swing Η υλοποίηση μίας εφαρμογής με γραφική διεπαφή σε Java Swing γίνεται σε δύο ξεχωριστά επίπεδα/φάσεις. Τη σχεδίαση της γραφικής διεπαφής και τον προγραμματισμό των ενεργειών που ακολουθούν κάθε γεγονός. Αυτές οι δύο φάσεις δεν είναι απαραίτητο να γίνουν σε σειρά, δηλαδή να ολοκληρωθεί πρώτα η μία για να ξεκινήσουμε τη δεύτερη. Η Java Swing ακολουθεί τη φιλοσοφία της αποστολής γεγονότων ή μηχανισμού ειδοποιήσεων event driven programming. Η λογική της συγκεκριμένης τεχνικής είναι ότι μόλις συμβεί ένα γεγονός (πάτημα ενός κουμπιού του ποντικιού, πάτημα ενός πλήκτρου του πληκτρολογίου) σε ένα γραφικό στοιχείο στον καμβά της διεπαφής τότε ενεργοποιείται ο μηχανισμός που διαχειρίζεται τα γεγονότα και εκτελείται η αντίστοιχη ενέργεια (Java μέθοδος) που έχει προγραμματιστεί σε μία τέτοια περίπτωση. Η σχεδίαση στο NetBeans μπορεί να γίνει είτε αποκλειστικά με κώδικα είτε εκμεταλλευόμενοι τον οπτικό προγραμματισμό και τη σχεδίαση με σύρσιμο των γραφικών Ευκλείδης Κεραμόπουλος Σελίδα 9

συστατικών στο κατάλληλο σημείο του καμβά. Στο εργαστήριο μας θα χρησιμοποιήσουμε την δεύτερη μέθοδο. Ευκλείδης Κεραμόπουλος Σελίδα 10