8. Το μοντέλο συμβάντων του AWT
|
|
- Δημοσθένης Χριστόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 8. Το μοντέλο συμβάντων του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να γράφετε κώδικα που θα αντιμετωπίζει συμβάντα που θα συμβαίνουν στη διεπαφή με το χρήστη Να χρησιμοποιείτε τις κατάλληλες διεπαφές και μεθόδους χειρισμού για πλήθος τύπων συμβάντων Να καθορίζετε από το αντικείμενο event (συμβάντος) λεπτομέρειες σχετικά με τη πράξη του χρήστη που προκάλεσε το συμβάν Να χρησιμοποιείτε την κατάλληλη κλάση adapter (προσαρμοστή) για να επιλέξετε ένα υποσύνολο από χειριστές συμβάντων για έναν event listener. 8.1 Τι είναι ένα συμβάν Όταν ένας χρήστης πραγματοποιεί μια πράξη στη διεπαφή με το χρήστη, αυτό προκαλεί τη δημιουργία ενός συμβάντος (event). Τα συμβάντα είναι αντικείμενα που περιγράφουν τι συνέβη. Υπάρχει ένα πλήθος διαφορετικών κλάσεων συμβάντων που περιγράφουν διαφορετικές γενικές κατηγορίες πράξεων του χρήστη Πηγές συμβάντων Μία πηγή συμβάντος (στο επίπεδο της διεπαφής με το χρήστη) είναι το αποτέλεσμα κάποιας πράξης του χρήστη σε ένα AWT component. Για παράδειγμα, ένα κλικ με το ποντίκι σε ένα button component θα παράγει (θα είναι η πηγή) ενός ActionEvent. Το ActionEvent είναι ένα αντικείμενο (κλάση) που περιέχει πληροφορία σχετικά με την κατάσταση του συμβάντος: ActionCommand το όνομα της εντολής που σχετίζεται με την πράξη Τροποποιητές οποιοιδήποτε τροποποιητές (modifiers) που αποθηκεύθηκαν κατά την πράξη Χειριστές συμβάντων Όταν λαμβάνει χώρα ένα συμβάν, το συμβάν λαμβάνεται από ένα component με το οποίο ο χρήστης είχε αλληλεπίδραση. Για παράδειγμα, το button, slider, text field κλπ. Ένας χειριστής συμβάντων (event handler) είναι η μέθοδος που λαμβάνει το αντικείμενο Event έτσι ώστε το πρόγραμμα να μπορεί να επεξεργαστεί την αλληλεπίδραση με το χρήστη Πώς γίνεται η επεξεργασία των συμβάντων Μεταξύ των JDK 1.0 και JDK 1.1 υπάρχουν σημαντικές αλλαγές σχετικά με τον τρόπο που τα συμβάντα λαμβάνονται και επεξεργάζονται. Στο κεφάλαιο αυτό θα συγκρίνουμε το παλιό μοντέλο συμβάντων (JDK 1.0) και το τρέχον μοντέλο συμβάντων (JDK 1.1 και εξής). 1
2 8.2 Μοντέλο συμβάντων JDK 1.0 εναντίον JDK 1.1 To JDK 1.0 ακολουθεί ένα ιεραρχικό μοντέλο συμβάντων και το JDK 1.1 χρησιμοποιεί ένα μοντέλο συμβάντων με χρήση εξουσιοδότησης (delegation event model). Είναι σημαντικό να γνωρίζουμε πώς συγκρίνονται τα δύο μοντέλα συμβάντων Ιεραρχικό μοντέλο (JDK 1.0) Το ιεραρχικό μοντέλο βασίζεται στο «περιέχειν». Τα συμβάντα αποστέλλονται πρώτα στο component και στη συνέχεια προωθούνται προς τα πάνω στην ιεραρχία που δημιουργείται από τη σχέση «περιέχειν». Τα συμβάντα που δεν αντιμετωπίζονται από το component θα συνεχίσουν αυτόματα να προωθούνται στο container του component. Frame Panel Button συμβάν πράξης Για παράδειγμα, στο πιο πάνω σχήμα, ένα κλικ με το ποντίκι στο αντικείμενο Button (που περιέχεται σε ένα Panel μέσα σε ένα Frame) στέλνει ένα action event πρώτα στο ίδιο το Button. Αν το Button δεν το χειριστεί, το συμβάν θα αποσταλεί στη συνέχεια στο Panel και αν και αυτό δεν το χειριστεί το συμβάν αποστέλλεται στο Frame. Υπάρχει ένα προφανές πλεονέκτημα σε αυτό το μοντέλο: Είναι απλό και ταιριάζει σε ένα περιβάλλον αντικειμενοστρεφούς προγραμματισμού άλλωστε τα components της Java κληρονομούν από την κλάση java.awt.component, όπου και βρίσκεται η μέθοδος handleevent. Υπάρχουν όμως και ορισμένα μειονεκτήματα: Δεν υπάρχει απλώς τρόπος για να «φιλτράρουμε» τα συμβάντα. Για να χειριστούμε ένα συμβάν πρέπει είτε να δημιουργήσουμε υποκλάσεις του component που λαμβάνει το συμβάν είτε να δημιουργήσουμε μία μεγάλη μέθοδο handleevent στο βασικό container Μοντέλο εξουσιοδότησης (JDK 1.1) Το JDK 1.1 εισήγαγε ένα νέο μοντέλο συμβάντων που ονομάζεται το μοντέλο εξουσιοδότησης συμβάντων (delegation event model). Στο μοντέλο εξουσιοδότησης συμβάντων τα συμβάντα αποστέλλονται σε ένα component, αλλά εξαρτάται από το ίδιο το component να καταχωρήσει (register) μία ρουτίνα χειρισμού συμβάντων (που 2
3 ονομάζεται listener) για να λαμβάνει το συμβάν. Με τον τρόπο αυτό ο χειριστής συμβάντων μπορεί να βρίσκεται σε μία κλάση έξω από το component. Ο χειρισμός του συμβάντος εξουσιοδοτείται στη συνέχεια στην ξεχωριστή κλάση. Frame Panel χειριστές συμβάντων του Panel και του Frame Button συμβάν πράξης χειριστής πράξης actionperformed(actionevent e) {... Τα συμβάντα είναι αντικείμενα που αναφέρονται μόνο στους καταχωρημένους listeners. Κάθε συμβάν έχει μία αντίστοιχη κλάση listener (διεπαφή). Η κλάση που υλοποιεί μία διεπαφή listener ορίζει κάθε μέθοδο που μπορεί να λάβει ένα αντικείμενο Event. Για παράδειγμα, στη συνέχεια είναι ένα απλό Frame με ένα μόνο Button πάνω του: import java.awt.*; import ButtonHandler; public class TestButton { public static void main(string args[]) { Frame f = new Frame( Test ); Button b = new Button( Press Me! ); b.addactionlistener(new ButtonHandler()); f.add( Center, b); f.pack(); f.setvisible(); Η κλάση ButtonHandler είναι η κλάση χειρισμού στην οποία θα εξουσιοδοτηθεί το συμβάν: import java.awt.event.*; public class ButtonHandler implements ActionListener { public void actionperformed(actionevent e) { System.out.println( Action occurred ); Η κλάση Button έχει μία μέθοδο addactionlistener(actionlistener) 3
4 Η διεπαφή ActionListener ορίζει μία μόνο μέθοδο, την actionperformed, η οποία θα λάβει ένα ActionEvent Όταν δημιουργείται το αντικείμενο Button, το αντικείμενο μπορεί να καταχωρήσει ένα listener για ActionEvents μέσω της μεθόδου addactionlistener, καθορίζοντας την κλάση αντικειμένων που υλοποιεί τη διεπαφή ActionListener. Όταν κάνουμε κλικ με το ποντίκι στο αντικείμενο Button, αποστέλλεται μία ActionEvent σε οποιονδήποτε ActionListener είναι καταχωρημένος μέσω της μεθόδου actionperformed(actionevent) Υπάρχουν αρκετά πλεονεκτήματα για την προσέγγιση αυτή: Τα συμβάντα δεν αντιμετωπίζονται τυχαία στο ιεραρχικό μοντέλο είναι πιθανό ένα συμβάν να προωθηθεί σε ένα container και να χειριστεί σε ένα επίπεδο όπου δεν αναμενόταν. Είναι δυνατό να δημιουργήσουμε κλάσεις φίλτρα (adapter) για να κατηγοριοποιούμε τις πράξεις συμβάντων Το μοντέλο εξουσιοδότησης είναι πολύ καλύτερο για την κατανομή της εργασίας ανάμεσα στις κλάσεις Το νέο μοντέλο συμβάντων παρέχει υποστήριξη για τα Java Beans TM Υπάρχουν επίσης ορισμένα ζητήματα/μειονεκτήματα στο μοντέλο τα οποία πρέπει να αναφέρουμε Είναι περισσότερο σύνθετο, τουλάχιστον στην αρχή, στην κατανόησή του. Η μεταφορά κώδικα από JDK 1.0 σε JDK 1.1 δεν είναι εύκολη Αν και το τρέχον JDK υποστηρίζει το μοντέλο συμβάντων του JDK 1.0 επιπρόσθετα στο μοντέλο εξουσιοδότησης, τα δύο μοντέλα αντικειμένων (JDK 1.0 και JDK 1.1) δεν μπορούν να αναμιχθούν. 8.3 Συμπεριφορά των GUI στη Java Κατηγορίες συμβάντων Ο γενικός μηχανισμός για τη λήψη συμβάντων από components έχει περιγραφεί για τα συμφραζόμενα ενός απλού τύπου συμβάντος. Στο πακέτο java.awt.event ορίζεται ένα πλήθος συμβάντων και components τρίτων κατασκευαστών προσθέτουν σε αυτή τη λίστα. Για κάθε κατηγορία συμβάντων υπάρχει μία διεπαφή η οποία πρέπει να οριστεί για κάθε κλάση η οποία επιθυμεί να λαμβάνει τα συμβάντα. Η διεπαφή αυτή απαιτεί τον ορισμό μίας ή περισσοτέρων μεθόδων. Οι μέθοδοι αυτοί θα καλούνται όταν προκύψουν συγκεκριμένα συμβάντα. Ο επόμενος πίνακας παρουσιάζει τις κατηγορίες δίνοντας το όνομα της διεπαφής για κάθε μια από τις κατηγορίες, καθώς και τις απαιτούμενες μεθόδους. Τα ονόματα των μεθόδων είναι μνημονικά, δηλώνοντας τις συνθήκες που θα προκαλέσουν την κλήση της μεθόδου. Κατηγορία Όνομα διεπαφής Μέθοδοι Πράξη (action) ActionListener actionperformed(actionevent) 4
5 Κατηγορία Όνομα διεπαφής Μέθοδοι Στοιχείο (item) ItemListener itemstatechanged(itemevent) Κίνηση ποντικιού MouseMotionListener Πλήκτρο ποντικιού MouseListener mousedragged(mouseevent) mousemoved(mouseevent) mousepressed(mouseevent) mousereleased(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mouseclicked(mouseevent) Πλήκτρα (key) KeyListener keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent) Εστίαση (Focus) FocusListener focusgained(focusevent) focuslost(focusevent) Adjustment AdjustmentListener adjustmentvaluechanged(adjustmentevent) Component ComponentListener componentmoved(componentevent) componenthidden(componentevent) componentresized(componentevent) componentshown(componentevent) Window WindowListener windowclosing(windowevent) windowopened(windowevent) windowiconified(windowevent) windowdeiconified(windowevent) windowclosed(windowevent) windowactivated(windowevent) windowdeactivated(windowevent) Container ContainerListener componentadded(containerevent) componentremoved(containerevent) Text TextListener textvaluechanged(textevent) Ένα περισσότερο σύνθετο παράδειγμα Στη συνέχεια θα δούμε ένα περισσότερο σύνθετο παράδειγμα. Θα παρακολουθεί την κίνηση του ποντικιού όταν είναι πατημένο το πλήκτρο το ποντικιού mouse dragging και επιπρόσθετα θα ανιχνεύει την κίνηση του ποντικιού. 5
6 Τα συμβάντα που προκαλούνται από την κίνηση του ποντικιού όσο είναι πατημένο το πλήκτρο μπορούν να λαμβάνονται από μία κλάση που υλοποιεί τη διεπαφή MouseMotionListener. Η διεπαφή απαιτεί να παρέχουμε δύο μεθόδους που είναι η mousedragged() και η mousemoved(). Ενδιαφερόμαστε μόνο για την κίνηση drag, αλλά παρ όλα αυτά πρέπει να παρέχουμε και τις δύο μεθόδους. Όμως το σώμα της mousemoved() μπορεί να είναι κενό. Για να λαμβάνουμε συμβάντα του ποντικιού, συμπεριλαμβανομένου του κλικ του ποντικιού, χρειάζεται να υλοποιήσουμε τη διεπαφή MouseListener. Η διεπαφή αυτή περιλαμβάνει αρκετά συμβάντα, συμπεριλαμβανομένων των mouseentered, mouseexited, mousepressed, mousereleased και mouseclicked. Όταν λαμβάνει χώρα ένα από τα συμβάντα drag ή κίνηση του ποντικιού, θα αναφέρουμε τη σχετική πληροφορία σε ένα text field. Ο κώδικας είναι ο ακόλουθος: import java.awt.*; import java.awt.event.*; public class TwoListen implements MouseMotionListener, MouseListener { private Frame f; private TextField tf; public static void main(string args[]) { TwoListen two = new TwoListen(); two.go(); public void go() { f = new Frame( Two listeners example ); f.add(new Label( Click and drag the mouse ), North ); tf = new TextField(30); f.add(tf, South ); f.addmousemotionlistener(this); f.addmouselistener(this); f.setsize(300,200); f.setvisible(true); // f.requestfocus(); // These are MouseMotionListener events public void mousedragged(mouseevent e) { String s = Mouse dragging: X = + e.getx() + Y = + e.gety(); tf.settext(s); 6
7 public void mousemoved(mouseevent e) { // These are MouseListener events public void mouseclicked(mouseevent e) { public void mouseentered(mouseevent e) { String s = The mouse entered ; tf.settext(s); public void mouseexited(mouseevent e) { String s = The mouse has left the building ; tf.settext(s); public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { Θα πρέπει να τονίσουμε ορισμένα στοιχεία σχετικά με το παράδειγμα Δήλωση πολλών διεπαφών Η κλάση δηλώνεται με χρήση του ακόλουθου implements MouseMotionListener, MouseListener Παρατηρήστε ότι μπορούμε να ορίσουμε πολλές διεπαφές χρησιμοποιώντας απλά το κόμμα ως διαχωριστή. Παρακολουθώντας πολλές πηγές Καλώντας τις επόμενες μεθόδους f.addmousemotionlistener(this); f.addmouselistener(this); δύο είδη συμβάντων προκαλούν την κλήση μεθόδων στην κλάση TwoListen. Μπορείτε να παρακολουθείτε (listen) όσες πηγές θέλετε, τόσο από διαφορετικές κατηγορίες συμβάντων όσο και από διαφορετικές πηγές, όπως διαφορετικά frames ή διαφορετικά buttons. 7
8 Λήψη λεπτομερειών σχετικά με το συμβάν Όταν καλούνται οι μέθοδοι χειρισμού, όπως η mousedragged(), λαμβάνουν ένα όρισμα που εν δυνάμει περιέχει σημαντική πληροφορία σχετικά με το αρχικό συμβάν. Για να καθορίσετε τις λεπτομέρειες του ποια πληροφορία είναι διαθέσιμη για κάθε κατηγορία συμβάντων θα πρέπει να ελέγξετε την τεκμηρίωση της κατάλληλης κλάσης από το πακέτο java.awt.event Πολλοί listeners Το πλαίσιο λειτουργίας της παρακολούθησης (listening) των AWT συμβάντων επιτρέπει να προσκολληθούν πολλοί listeners στο ίδιο component. Γενικά, αν θέλετε να γράψετε ένα πρόγραμμα που πραγματοποιεί πολλές πράξεις βασιζόμενο σε ένα μόνο συμβάν, πιθανότατα θα πρέπει να κωδικοποιήσετε αυτή τη συμπεριφορά στη μέθοδο χειρισμού. Όμως, ορισμένες φορές η σχεδίαση του προγράμματος απαιτεί πολλά μη σχετιζόμενα μεταξύ τους τμήματα του ίδιου προγράμματος να αντιδρούν στο ίδιο συμβάν. Αυτό μπορεί να συμβεί αν, για παράδειγμα, προσθέτουμε βοήθεια που εξαρτάται από τα συμφραζόμενα (context-sensitive help) σε ένα υπάρχον πρόγραμμα. Ο μηχανισμός του listener σάς επιτρέπει να καλείτε μία μέθοδο addlistener όσες φορές απαιτείται, καθορίζοντας όσους διαφορετικούς listener απαιτεί η σχεδίασή σας. Θα καλούνται οι μέθοδοι χειρισμού όλων των καταχωρημένων listeners όταν λάβει χώρα το συμβάν. Σημείωση Η σειρά με την οποία θα καλούνται οι μέθοδοι χειρισμού δεν είναι καθορισμένη. Γενικά, αν έχει σημασία η σειρά κλήσης, τότε οι χειριστές δεν είναι άσχετοι μεταξύ τους, και δε θα έπρεπε να χρησιμοποιείτε αυτή τη διευκόλυνση για την κλήση τους. Αντ αυτού, καταχωρήστε μόνο τον πρώτο listener και βάλτε τον να καλεί άμεσα τους άλλους. 8.4 Προσαρμοστές συμβάντων Προφανώς απαιτείται πολλή δουλειά για να υλοποιήσουμε όλες τις μεθόδους κάθε μιας από τις διεπαφές Listener, συγκεκριμένα των MouseListener και ComponentListener. Για παράδειγμα η διεπαφή MouseListener ορίζει τις επόμενες μεθόδους: mouseclicked(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mousepressed(mouseevent) mousereleased(mouseevent) Ως βοήθεια η Java προσφέρει μία κλάση προσαρμοστή (adapter class) για κάθε διεπαφή Listener, η οποία υλοποιεί την αντίστοιχη διεπαφή Listener, αλλά αφήνει κενές τις μεθόδους που υλοποιήθηκαν. Με τον τρόπο αυτό η ρουτίνα Listener που ορίζεται μπορεί να κάνει extend την κλάση Adapter και να υπερβαίνει μόνο τις μεθόδους που χρειαζόσαστε. Για παράδειγμα: import java.awt.*; 8
9 import java.awt.event.*; public class MouseClickHandler extends MouseAdapter { // We just need the mouseclick handler, so we use // the Adapter to avoid having to write all the // event handler methods public void mouseclicked (MouseEvent e) { // Do stuff with the mouse click Ασκήσεις Επίπεδο 1: GUI Αριθμομηχανής, Μέρος ΙΙ 1. Χρησιμοποιήστε τον κώδικα GUI που γράψατε στο προηγούμενο κεφάλαιο. 2. Γράψτε τον κώδικα συμβάντων που θα συνδέσει τη διεπαφή χρήστη της αριθμομηχανής με τους κατάλληλους χειριστές συμβάντων για τις πράξεις στην αριθμομηχανή Επίπεδο 3: GUI Λογαριασμών, Μέρος ΙΙ 1. Χρησιμοποιήστε το GUI για τους λογαριασμούς που γράψατε στο προηγούμενο κεφάλαιο. 2. Τροποποιήστε τον κώδικα ώστε να αποστέλλετε ένα αντικείμενο AccountEvent, ως αποτέλεσμα μίας αλλαγής στο λογαριασμό, στο αντικείμενο BankManager, που είναι ένας καταχωρημένος listener της διεπαφής AccountListener. 9
ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1)
ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1) Πλεονεκτήματα έναντι του awt Περισσότερα συστατικά Επεκτεταμένα χαρακτηριστικά συστατικών Καλύτερη εμφάνιση και αίσθηση Καλύτερος χειρισμός συμβάντων Πιο συμβατά προγράμματα
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #18
Week 12: GUIs with Swing Προγραμματισμός ΓΠΕ: ανασκόπηση Εισαγόμενα πακέτα Java Διαλεξη #18: Γραφικά Περιβάλλοντα Επικοινωνίας Java με Swing «Στήσιμο»του αυτόνομου παράθυρου [frame] Συστατικά [components]
Διαβάστε περισσότεραWeek 12: GUIs with Swing
Week 12: GUIs with Swing Προγραµµατισµός ΓΠΕ: ανασκόπηση Εισαγόµενα πακέτα Java Εβδοµάδα 12: Γραφικά Περιβάλλοντα Επικοινωνίας Java µε Swing «Στήσιµο»του αυτόνοµου παράθυρου [frame] Συστατικά [components]
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 7: Abstract Window Toolkit (AWT) Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17
Week 10: Graphical User Interfaces Έννοιες του προγραμματισμού ΓΠΕ [GUI] Διάλεξη #17: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] Διάταξη [layout]
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,
Διαβάστε περισσότεραWeek 10: Graphical User Interfaces
Week 10: Graphical User Interfaces Έννοιες του προγραµµατισµού ΓΠΕ [GUI] Εβδοµάδα 10: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] ιάταξη [layout] [event-driven
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 18: Προγραμματισμός με Γραφικά (Graphics Programming) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι βιβλιοθήκες AWT και SWING, κύρια αντικείμενα -Προγραμματισμός με συμβάντα (event-driven
Διαβάστε περισσότερα8.1 Top-Level Swing Containers και Swing Components
Εισαγωγή στη γλώσσα προγραμματισμού Java 59 8. Γραφικές διεπαφές τύπου Swing (Swing GUIs) Τα πακέτα που αρχίζουν με το πρόθεμα javax.swing παρέχουν ευέλικτα και ισχυρά εργαλεία ανάπτυξης GUI. Ιδιαίτερα
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 4: JAVA: ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικές Διεπαφές Χρήστη - Swing ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών
Διαβάστε περισσότερα9. Η βιβλιοθήκη Components του AWT
9. Η βιβλιοθήκη Components του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να αναγνωρίζετε τα βασικά components του AWT Να χρησιμοποιείτε AWT components για να δημιουργείτε διεπαφές χρηστών για πραγματικά
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ SWING Βασικά στοιχεία ενός GUI Ένα Graphical User Interface-GUI (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος του
Διαβάστε περισσότερα7. Ανάπτυξη GUI σε Java
7. Ανάπτυξη GUI σε Java Όταν ολοκληρώσετε αυτό το κεφάλαιο, θα μπορείτε: Να περιγράφετε το πακέτο AWT και τις συνιστώσες του. Να εξηγείτε τους containers (περιέκτες), components (συνιστώσες) και layout
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,
Διαβάστε περισσότεραΤο επόμενο σχήμα εμφανίζει την ιεραρχία των GUI-components κλάσεων μαζί με κάποιες επιπλέον συμπληρωματικές κλάσεις που διαχειρίζονται ένα GUI.
Εισαγωγή στη γλώσσα προγραμματισμού Java 47 7. Abstract Windowing Toolkit (AWT) 7.1 Βασικά στοιχεία ενός GUI Ένα Graphical User Interface-GUI (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος
Διαβάστε περισσότερα11. Προηγμένα χαρακτηριστικά της γλώσσας
11. Προηγμένα χαρακτηριστικά της γλώσσας Τελειώνοντας το κεφάλαιο αυτό θα μπορείτε: Να καλείτε μεθόδους που έχετε υπερβεί, από τη μέθοδο που τις υπερβαίνει Να καλείτε μεθόδους δημιουργίας που έχετε υπερβεί
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 8: Java Swing Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΕργαστήριο 1-1 η Άσκηση - Ανάλυση
Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότερα8.1 Γενικά για το AWT (Abstract Window Toolkit)
8.1 Γενικά για το AWT (Abstract Window Toolkit) To AWT είναι ένα σύνολο κλάσεων που επιτρέπει την δηµιουργία γραφικής διασύνδεσης χρήστη Graphical User Interface (GUI). To GUI χρησιµοποιείται για τον τρόπο
Διαβάστε περισσότεραAbstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες
Διαβάστε περισσότεραημιουργία Γραφικού Περιβάλλοντος
Γραφικό Περιβάλλον Χρήστη. Πλαίσια και παράθυρα. Κουμπιά. Ετικέτες και πεδία κειμένου. Πλαίσια ελέγχου. Σύνθετα πλαίσια. Περιοχές κειμένου. Πάνελς. Διαχειριστές Διάταξης. Απόκριση σε δεδομένα που εισάγει
Διαβάστε περισσότερα12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)
exercise 6new_10 12/5/2008 12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) 12.6.1. Περιγραφή Θεωρήστε την γραφική διεπαφή της αριθµοµηχανής των MS Windows. Μια παρόµοια διεπαφή (δες
Διαβάστε περισσότεραΕπαναληπτικό φύλλο εργασίας 07/04/2009
Επαναληπτικό φύλλο εργασίας 07/04/2009 Άσκηση 1 η Θέλουμε να κάνουμε ένα πρόγραμμα που θα υπολογίζει τον τελικό βαθμό ενός μαθητή που συμμετέχει σε πανελλαδικές εξετάσεις. Ο προφορικός του βαθμός εάν διαφέρει
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΠεριεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13
Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 8 Πακέτα (Packages) Access
Διαβάστε περισσότεραΠρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη
9.1 Γενικά Οι εφαρµογές που δηµιουργούνται από ένα προγραµµατιστή µπορούν ανά πασά στιγµή να καταρρεύσουν από κάποιο λάθος κατά την λειτουργία τους. Αυτές οι καταστάσεις συµβαίνουν από αµέλεια του προγραµµατιστή
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΓεγονότα και Γεγονοστρεφής Προγραµµατισµός
Κεφάλαιο 19 Γεγονότα και Γεγονοστρεφής Προγραµµατισµός εν υποστηρίζω ότι έχω ελέγξει γεγονότα, αλλά απλώς εξοµολογούµαι ότι γεγονότα έχουν ελέγξει εµένα. Abraham Lincoln 19.1 Εισαγωγή Οι αλληλεπιδράσεις
Διαβάστε περισσότεραΚλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων
Κλάσεις Τροποποιητές, ιασυνδέσεις, Πακέτα Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων Υπάρχουν 4τροποποιητές: default, public, private, protected. Default: εν προηγείται τροποποιητής του ονόµατος
Διαβάστε περισσότερα12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2004)
exercise 6new_6 23/2/2005 12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2004) 12.6.1. Περιγραφή Θεωρήστε την γραφική διεπαφή της αριθµοµηχανής των MS Windows. Μια παρόµοια διεπαφή (δες
Διαβάστε περισσότεραΤο πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2008 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2008 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. Δημιουργήστε μια κλάση αντικειμένων Complex η οποία να περιγράφει
Διαβάστε περισσότεραΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ
ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Java εκτός από τις κλασικές εφαρμογές μπορούμε να δημιουργήσουμε και άλλους δύο τύπους εφαρμογών: τα Applets, τα οποία τρέχουν μέσα από κάποιο φυλλομετρητή (browser) και τρέχουν
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών
Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΤ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων
Εργαστήριο Java Lab09 Αντικείμενο: Πολυνηματικές εφαρμογές Η χρήση περισσότερων από μιας ροής εντολών μέσα σε ένα πρόγραμμα είναι γνωστή ως multithreading. H κάθε μια ροή εντολών μέσα στο πρόγραμμα ονομάζεται
Διαβάστε περισσότεραVK -14/10/2016 Σελίς 1
ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ ΕΙΣΑΓΩΓΗ Προγραµµατισµός µε Γραφικά (Εισαγωγή στη JavaSwing και γνωριµία µε το εργαλείο NetBeans) Εξαιρετικό παράδειγµα που συνδυάζει όλες τις έννοιες του αντικειµενοστρεφή
Διαβάστε περισσότεραΤμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.
Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2018-19, Χειμερινό Εξάμηνο 1 η Ενδιάμεση
Διαβάστε περισσότερα10.1 Γενικά για τα streams
10.1 Γενικά για τα streams Για την αλληλεπίδραση ενός προγράµµατος µε ένα αρχείο, δηλαδή για την αποθήκευση ή την ανάγνωση δεδοµένων από αυτό χρησιµοποιείται ένα σύστηµα επικοινωνίας που καλείται streams.
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 19: Φωλιασμένες (Nested) και Εσωτερικές (Inner) κλάσεις Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Φωλιασμένες Κλάσεις - Εσωτερικές Κλάσεις (Τοπικές και Ανώνυμες) - Ταξινομία Κλάσεων
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Σχεδίαση Κλάσεων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ EXCEPTIONS & EXCEPTION HANDLING Εξαιρέσεις (Exceptions) Γνωμικό της Μηχανικής Λογισμικού: το 80% της δουλειάς των μηχανικών
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΓενικά (για τις γραπτές εξετάσεις)
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΟπτικός Προγραμματισμός σε NetBeans με Java Swing
Οπτικός Προγραμματισμός σε NetBeans με Java Swing 1 NetBeans Το NetBeans είναι το επίσημο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE - Integrated Development Environment) για υλοποίηση εφαρμογών σε Java 8.
Διαβάστε περισσότεραΟντοκεντρικόσ Προγραμματιςμόσ
Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 4: JAVA: ΔΙΕΠΑΦΕ ΧΡΗΣΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικζσ Διεπαφζσ Χριςτθ - Swing Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι χολι Σμιμα Μθχανικϊν Η/Τ & Πλθροφορικισ ΓΡΑΦΙΚΕ ΔΙΕΠΑΦΕ
Διαβάστε περισσότεραΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA
Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. α) Δημιουργήστε μια κλάση αντικειμένων Tetragono η οποία
Διαβάστε περισσότεραΕργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων
Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε
Διαβάστε περισσότεραΤ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων
Εργαστήριο Java Αντικείμενο: Αρχεία Πακέτο java.io Πακέτο java.io.zip Στην Java δεν υπάρχει η έννοια των εγγραφών μέσα σε ένα αρχείο. Ο προγραμματιστής πρέπει να κατασκευάσει το αρχείο κατάλληλα έτσι ώστε
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 18/4/216 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί
Διαβάστε περισσότεραΒυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010
Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)
Διαβάστε περισσότεραΔραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).
Προγραμματίζω τον υπολογιστή (10 ώρες). Δραστηριότητα 1 Στόχος της δραστηριότητας είναι να δημιουργήσουμε μια απλή εφαρμογή η οποία θα περιέχει ένα κουμπί και μια εικόνα μιας γάτας. Όταν ο μαθητής πατήσει
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΤι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;
Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραHelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΕργαστήριο 2 - Άσκηση - Ανάλυση
Εργαστήριο 2 - Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε την εφαρμογή Αριθμήτηριο σε Java Swing με χρήση NetBeans ακολουθώντας τις παρακάτω οδηγίες. 1. Η εφαρμογή θα σχεδιασθεί σε ένα εξωτερικό υποδοχέα
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Μ έ θ ο δ ο ι Οι μέθοδοι είναι εκείνα τα τμήματα του κώδικα όπου εκτελούνται οι ουσιαστικές
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ
ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 6 η : Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής
Διαβάστε περισσότεραΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης. Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 2 Σεπτεµβρίου 2005
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Άσκηση 1 (10 µονάδες) Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΣχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:
Σχεδίαση Κλάσεων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.11.19 Εισαγωγή 2 ιαρκής συντήρηση και επέκταση λογισµικού Οι εταιρίες συνήθως συντηρούν, επεκτείνουν
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότερα10. Εισαγωγή στα Java Applets
10. Εισαγωγή στα Java Applets Ολοκληρώνοντας αυτό το κεφάλαιο θα μπορείτε Να περιγράφετε τη διαφορά ανάμεσα σε μία αυτοδύναμη εφαρμογή Java και ένα Java applet Να γράφετε μία HTML tag που θα καλεί ένα
Διαβάστε περισσότεραΑντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου
Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός
Διαβάστε περισσότεραΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021
ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021 18 Οκτωβρίου 2006 Η εργασία είχε σαν στόχο να δημιουργηθεί ένα κατανεμημένο σύστημα ελέγχου συσκευών μιας κουζίνας.συγκεκριμένα
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Γραφικές Διεπαφές Χρήστη Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραΕργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net
Εργαστήριο Java Lab11 Αντικείµενο: Δίκτυα Πακέτο java.net H Java παρέχει ένα σύνολο από ενσωµατωµένες δυνατότητες για δηµιουργία εφαρµογών στο Internet ή σε τοπικά δίκτυα. H Java παρέχει τα stream sockets
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors
Διαβάστε περισσότεραΕφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο Καβάλα 2012 Σπουδαστής : Λιάνος Άγγελος,
Διαβάστε περισσότεραΕισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13
Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότεραΠρογραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές
Προγραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές Περιεχόμενα Γραφικά περιβάλλοντα (GUI) Abstract Windowing Toolkit (AWT) Swing Containers Components Layout managers (Listeners) Αρχιτεκτονική Model-View-Controller
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΟδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Αντικειμενοστρεφής Προγραμματισμός Η/Υ Οδηγίες Συγγραφής και Αξιολόγησης Εργασιών του μαθήματος Το κείμενο αυτό γράφεται με σκοπό να βοηθήσει τους φοιτητές του μαθήματος
Διαβάστε περισσότεραHelloApplet. Παύλος Εφραιμίδης Java Applets 1
HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,
Διαβάστε περισσότεραΠακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Πακέτα (Packages) Φωλιασμένες
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Γαβαλάς Δαμιανός dgavalas@aegean.gr Λογικά
Διαβάστε περισσότερα(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Διαβάστε περισσότερα