8. Το μοντέλο συμβάντων του AWT

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "8. Το μοντέλο συμβάντων του AWT"

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) ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1) Πλεονεκτήματα έναντι του awt Περισσότερα συστατικά Επεκτεταμένα χαρακτηριστικά συστατικών Καλύτερη εμφάνιση και αίσθηση Καλύτερος χειρισμός συμβάντων Πιο συμβατά προγράμματα

Διαβάστε περισσότερα

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #18 Week 12: GUIs with Swing Προγραμματισμός ΓΠΕ: ανασκόπηση Εισαγόμενα πακέτα Java Διαλεξη #18: Γραφικά Περιβάλλοντα Επικοινωνίας Java με Swing «Στήσιμο»του αυτόνομου παράθυρου [frame] Συστατικά [components]

Διαβάστε περισσότερα

Week 12: GUIs with Swing

Week 12: GUIs with Swing Week 12: GUIs with Swing Προγραµµατισµός ΓΠΕ: ανασκόπηση Εισαγόµενα πακέτα Java Εβδοµάδα 12: Γραφικά Περιβάλλοντα Επικοινωνίας Java µε Swing «Στήσιµο»του αυτόνοµου παράθυρου [frame] Συστατικά [components]

Διαβάστε περισσότερα

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

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 7: Abstract Window Toolkit (AWT) Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17 Week 10: Graphical User Interfaces Έννοιες του προγραμματισμού ΓΠΕ [GUI] Διάλεξη #17: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] Διάταξη [layout]

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. 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 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

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 9. Η βιβλιοθήκη Components του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να αναγνωρίζετε τα βασικά components του AWT Να χρησιμοποιείτε AWT components για να δημιουργείτε διεπαφές χρηστών για πραγματικά

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 12 : ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ GUI AWT ΚΑΙ SWING Βασικά στοιχεία ενός GUI Ένα Graphical User Interface-GUI (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος του

Διαβάστε περισσότερα

7. Ανάπτυξη GUI σε Java

7. Ανάπτυξη GUI σε Java 7. Ανάπτυξη GUI σε Java Όταν ολοκληρώσετε αυτό το κεφάλαιο, θα μπορείτε: Να περιγράφετε το πακέτο AWT και τις συνιστώσες του. Να εξηγείτε τους containers (περιέκτες), components (συνιστώσες) και layout

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing Τα GUIs (Graphical User Interfaces) είναι τα συνηθισμένα interfaces που χρησιμοποιούν παράθυρα, κουμπιά, menus,

Διαβάστε περισσότερα

Το επόμενο σχήμα εμφανίζει την ιεραρχία των GUI-components κλάσεων μαζί με κάποιες επιπλέον συμπληρωματικές κλάσεις που διαχειρίζονται ένα GUI.

Το επόμενο σχήμα εμφανίζει την ιεραρχία των GUI-components κλάσεων μαζί με κάποιες επιπλέον συμπληρωματικές κλάσεις που διαχειρίζονται ένα GUI. Εισαγωγή στη γλώσσα προγραμματισμού Java 47 7. Abstract Windowing Toolkit (AWT) 7.1 Βασικά στοιχεία ενός GUI Ένα Graphical User Interface-GUI (στα ελληνικά Γραφική Διεπαφή με το Χρήστη) είναι το μέρος

Διαβάστε περισσότερα

11. Προηγμένα χαρακτηριστικά της γλώσσας

11. Προηγμένα χαρακτηριστικά της γλώσσας 11. Προηγμένα χαρακτηριστικά της γλώσσας Τελειώνοντας το κεφάλαιο αυτό θα μπορείτε: Να καλείτε μεθόδους που έχετε υπερβεί, από τη μέθοδο που τις υπερβαίνει Να καλείτε μεθόδους δημιουργίας που έχετε υπερβεί

Διαβάστε περισσότερα

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

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 8: Java Swing Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

Διαβάστε περισσότερα

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

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) 8.1 Γενικά για το AWT (Abstract Window Toolkit) To AWT είναι ένα σύνολο κλάσεων που επιτρέπει την δηµιουργία γραφικής διασύνδεσης χρήστη Graphical User Interface (GUI). To GUI χρησιµοποιείται για τον τρόπο

Διαβάστε περισσότερα

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Abstract classes, Interfaces ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Αφαιρέσεις στη Java Abstract μέθοδοι και abstract κλάσεις Interfaces (=διασυνδέσεις, διεπαφές) Instanceof Παραδείγματα κώδικα Αφηρημένες

Διαβάστε περισσότερα

ημιουργία Γραφικού Περιβάλλοντος

ημιουργία Γραφικού Περιβάλλοντος Γραφικό Περιβάλλον Χρήστη. Πλαίσια και παράθυρα. Κουμπιά. Ετικέτες και πεδία κειμένου. Πλαίσια ελέγχου. Σύνθετα πλαίσια. Περιοχές κειμένου. Πάνελς. Διαχειριστές Διάταξης. Απόκριση σε δεδομένα που εισάγει

Διαβάστε περισσότερα

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)

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 Επαναληπτικό φύλλο εργασίας 07/04/2009 Άσκηση 1 η Θέλουμε να κάνουμε ένα πρόγραμμα που θα υπολογίζει τον τελικό βαθμό ενός μαθητή που συμμετέχει σε πανελλαδικές εξετάσεις. Ο προφορικός του βαθμός εάν διαφέρει

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

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

Περιεχόμενα ΜΕΡΟΣ ΠΡΩΤΟ. Πρόλογος... 13 Περιεχόμενα Πρόλογος... 13 ΜΕΡΟΣ ΠΡΩΤΟ Κεφ. 1 Περί προγραμματισμού και γλωσσών προγραμματισμού Προγράμματα και Λειτουργικά Συστήματα... 17 Γλώσσες προγραμματισμού και εργαλεία ανάπτυξης προγραμμάτων...

Διαβάστε περισσότερα

Βασικά της γλώσσας JAVA

Βασικά της γλώσσας JAVA 17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 8 Πακέτα (Packages) Access

Διαβάστε περισσότερα

Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

Πρόγραµµα 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)

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. 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 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2008 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. Δημιουργήστε μια κλάση αντικειμένων Complex η οποία να περιγράφει

Διαβάστε περισσότερα

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Java εκτός από τις κλασικές εφαρμογές μπορούμε να δημιουργήσουμε και άλλους δύο τύπους εφαρμογών: τα Applets, τα οποία τρέχουν μέσα από κάποιο φυλλομετρητή (browser) και τρέχουν

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων Εργαστήριο Java Lab09 Αντικείμενο: Πολυνηματικές εφαρμογές Η χρήση περισσότερων από μιας ροής εντολών μέσα σε ένα πρόγραμμα είναι γνωστή ως multithreading. H κάθε μια ροή εντολών μέσα στο πρόγραμμα ονομάζεται

Διαβάστε περισσότερα

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

VK -14/10/2016 Σελίς 1 ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ ΕΙΣΑΓΩΓΗ Προγραµµατισµός µε Γραφικά (Εισαγωγή στη JavaSwing και γνωριµία µε το εργαλείο NetBeans) Εξαιρετικό παράδειγµα που συνδυάζει όλες τις έννοιες του αντικειµενοστρεφή

Διαβάστε περισσότερα

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ. Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2018-19, Χειμερινό Εξάμηνο 1 η Ενδιάμεση

Διαβάστε περισσότερα

10.1 Γενικά για τα streams

10.1 Γενικά για τα streams 10.1 Γενικά για τα streams Για την αλληλεπίδραση ενός προγράµµατος µε ένα αρχείο, δηλαδή για την αποθήκευση ή την ανάγνωση δεδοµένων από αυτό χρησιµοποιείται ένα σύστηµα επικοινωνίας που καλείται streams.

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: Φωλιασμένες (Nested) και Εσωτερικές (Inner) κλάσεις Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Φωλιασμένες Κλάσεις - Εσωτερικές Κλάσεις (Τοπικές και Ανώνυμες) - Ταξινομία Κλάσεων

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Σχεδίαση Κλάσεων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής

Διαβάστε περισσότερα

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ EXCEPTIONS & EXCEPTION HANDLING Εξαιρέσεις (Exceptions) Γνωμικό της Μηχανικής Λογισμικού: το 80% της δουλειάς των μηχανικών

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

Διαβάστε περισσότερα

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

Οπτικός Προγραμματισμός σε NetBeans με Java Swing Οπτικός Προγραμματισμός σε NetBeans με Java Swing 1 NetBeans Το NetBeans είναι το επίσημο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE - Integrated Development Environment) για υλοποίηση εφαρμογών σε Java 8.

Διαβάστε περισσότερα

Οντοκεντρικόσ Προγραμματιςμόσ

Οντοκεντρικόσ Προγραμματιςμόσ Οντοκεντρικόσ Προγραμματιςμόσ Ενότθτα 4: JAVA: ΔΙΕΠΑΦΕ ΧΡΗΣΗ, ΓΡΑΦΙΚΑ, APPLETS Γραφικζσ Διεπαφζσ Χριςτθ - Swing Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι χολι Σμιμα Μθχανικϊν Η/Τ & Πλθροφορικισ ΓΡΑΦΙΚΕ ΔΙΕΠΑΦΕ

Διαβάστε περισσότερα

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 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 Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)

Διαβάστε περισσότερα

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

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες). Προγραμματίζω τον υπολογιστή (10 ώρες). Δραστηριότητα 1 Στόχος της δραστηριότητας είναι να δημιουργήσουμε μια απλή εφαρμογή η οποία θα περιέχει ένα κουμπί και μια εικόνα μιας γάτας. Όταν ο μαθητής πατήσει

Διαβάστε περισσότερα

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors). Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι

Διαβάστε περισσότερα

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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 Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello

Διαβάστε περισσότερα

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

Διαβάστε περισσότερα

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

Εργαστήριο 2 - Άσκηση - Ανάλυση Εργαστήριο 2 - Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε την εφαρμογή Αριθμήτηριο σε Java Swing με χρήση NetBeans ακολουθώντας τις παρακάτω οδηγίες. 1. Η εφαρμογή θα σχεδιασθεί σε ένα εξωτερικό υποδοχέα

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Μ έ θ ο δ ο ι Οι μέθοδοι είναι εκείνα τα τμήματα του κώδικα όπου εκτελούνται οι ουσιαστικές

Διαβάστε περισσότερα

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

Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του

Διαβάστε περισσότερα

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 6 η : Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής

Διαβάστε περισσότερα

ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης. Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 2 Σεπτεµβρίου 2005

ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης. Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 2 Σεπτεµβρίου 2005 Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Άσκηση 1 (10 µονάδες) Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Σχεδίαση Κλάσεων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.11.19 Εισαγωγή 2 ιαρκής συντήρηση και επέκταση λογισµικού Οι εταιρίες συνήθως συντηρούν, επεκτείνουν

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

10. Εισαγωγή στα Java Applets

10. Εισαγωγή στα Java Applets 10. Εισαγωγή στα Java Applets Ολοκληρώνοντας αυτό το κεφάλαιο θα μπορείτε Να περιγράφετε τη διαφορά ανάμεσα σε μία αυτοδύναμη εφαρμογή Java και ένα Java applet Να γράφετε μία HTML tag που θα καλεί ένα

Διαβάστε περισσότερα

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021

ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021 ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021 18 Οκτωβρίου 2006 Η εργασία είχε σαν στόχο να δημιουργηθεί ένα κατανεμημένο σύστημα ελέγχου συσκευών μιας κουζίνας.συγκεκριμένα

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος 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. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net Εργαστήριο Java Lab11 Αντικείµενο: Δίκτυα Πακέτο java.net H Java παρέχει ένα σύνολο από ενσωµατωµένες δυνατότητες για δηµιουργία εφαρµογών στο Internet ή σε τοπικά δίκτυα. H Java παρέχει τα stream sockets

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors

Διαβάστε περισσότερα

Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο

Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εφαρμογή Αναζήτησης στον Ελληνικό Γεωγραφικό Χώρο Καβάλα 2012 Σπουδαστής : Λιάνος Άγγελος,

Διαβάστε περισσότερα

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

Διαβάστε περισσότερα

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

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ (Java) 8-9. Γραφικές Διεπαφές

Προγραμματισμός ΙΙ (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. Παύλος Εφραιμίδης Java Applets 1 HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,

Διαβάστε περισσότερα

Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD

Πακέτα (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 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Γαβαλάς Δαμιανός dgavalas@aegean.gr Λογικά

Διαβάστε περισσότερα

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

Διαβάστε περισσότερα