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

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

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

Transcript

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

2 Μία πρώτη μικρή γεύση των δυνατοτήτων της Swing. Παράδειγμα Δυνατοτήτων Swing Δρ. Κεραμόπουλος Ευκλείδης 2

3 To JAVA SWING είναι ένα API της JAVA το οποίο χρησιμοποιείται για την κατασκευή Γραφικών Προγραμμάτων. Είναι κομμάτι του JFC (Java Foundation Class) Μπορεί να θεωρηθεί ως εξέλιξη του AWT (Abstract Window Toolkit) της Java. Βασίζεται στο μοντέλο MVC (Model View Control) Δρ. Κεραμόπουλος Ευκλείδης 3

4 To JFC αποτελείται από 5 μέρη. 1. AWT, 2. Swing, 3. Accessibility, 4. Java 2D, και 5. Drag and Drop. Η Java 2D είναι κομμάτι της AWT, Η Swing έχει χτιστεί πάνω στην AWT, και ουσιαστικά είναι εξέλιξη της. Η Accessibility είναι κομμάτι της Swing. Δρ. Κεραμόπουλος Ευκλείδης 4

5 Όταν δημιουργήθηκε η Java το API AWT (Abstract Window Toolkit) χρησιμοποιούταν για την δημιουργία GUI. To AWT υποστηρίζει τάξεις οι οποίες υλοποιούν τα βασικά στοιχεία μιας διεπιφάνειας. Ο λόγος της ριζικής βελτίωσης του AWT με τη SWING ήταν: Η μετάφραση των οπτικών (visual) συστατικών του AWT ήταν εξαρτημένη από τη πλατφόρμα (λειτουργικό) όπου δημιουργούνταν. Έτσι τα συστατικά του μεταφράζονταν σε native code χαρακτηρίζονταν ως «βαριά» συστατικά. Αυτό οδηγούσε σε προβλήματα όπως: Δεν μπορούσε να υλοποιηθεί το μοτο της JAVA (γράψε μία φορά, τρέξτο παντού) Η αίσθηση των συστατικών ενός GUI όταν εκτελούνταν σε άλλο λειτουργικό δεν μπορούσαν να αλλάξουν εύκολα. Τα «βαριά» συστατικά του AWT δεν ήταν ευέλικτα και συνήθως είχαν περιορισμούς στην εμφάνιση Δρ. Κεραμόπουλος Ευκλείδης 5

6 H Swing δημιουργήθηκε το 1997 ως ανάγκη για να λύσει τα προβλήματα του AWT. Δύο είναι τα κύρια χαρακτηριστικά της Swing Ελαφρά συστατικά Pluggable εμφάνιση και αίσθηση Δρ. Κεραμόπουλος Ευκλείδης 6

7 Η μεγάλη πλειοψηφία των συστατικών της Swing είναι «ελαφριά» Είναι γραμμένα αποκλειστικά σε Java. Αυτό είχε αρκετά πλεονεκτήματα Τα συστατικά ήταν πιο ευέλικτα και πιο ευμετάβλητα (μπορούμε να αλλάξουμε εύκολα πολλές ιδιότητες τους) Η εμφάνιση και αίσθηση των συστατικών ορίζεται μόνο από την Swing και όχι από την πλατφόρμα. Δρ. Κεραμόπουλος Ευκλείδης 7

8 Επειδή τα συστατικά της Swing είναι ελαφριά είναι δυνατόν να χωριστεί η εμφάνιση και αίσθηση των συστατικών από τη λειτουργία τους Μπορεί να αλλάξει η εμφάνιση και αίσθηση ενός συστατικού χωρίς να επηρεάσει τη λειτουργία του Αυτό έχει σαν αποτέλεσμα η εμφάνιση μίας διεπιφάνειας να ρυθμίζεται ανάλογα με την εμφάνιση και αίσθηση που έχουμε επιλέξει. Τέσσερις μορφές είναι διαθέσιμες στην Swing Metal (Java) Windows (Microsoft) Motif (XWindows) Ορισμένο από το Χρήστη Υπάρχει η δυνατότητα να αλλάζει η εμφάνιση και αίσθηση μίας διεπιφάνειας δυναμικά την ώρα της εκτέλεσης Δρ. Κεραμόπουλος Ευκλείδης 8

9 Τα συστατικά είναι όλα τα στοιχεία που μπορεί να περιέχει μία διεπιφάνεια. Για παράδειγμα: κουμπιά, μενού, λίστες Οι υποδοχείς (containers) είναι συστατικά (components). Κάθε Swing εφαρμογή θα πρέπει να περιέχει έναν εξωτερικό υποδοχέα, ο οποίος θα περιλαμβάνει όλα τα συστατικά της διεπιφάνειας. Ένας υποδοχέας μπορεί να περιλαμβάνει και άλλους υποδοχείς. Μία διεπιφάνεια χτισμένη σε Swing μπορεί να παρασταθεί και ως ένα δέντρο όπου η ρίζα του είναι ο εξωτερικός υποδοχέας. Δρ. Κεραμόπουλος Ευκλείδης 9

10 Όλα τα Swing συστατικά είναι παιδιά της τάξης JComponent εκτός από τέσσερα συστατικά-υποδοχείς Στην τάξη JComponent υλοποιούνται τα χαρακτηριστικά που είναι κοινά για όλα τα συστατικά μίας διεπιφάνειας, π.χ. η εμφάνιση και η αίσθηση. Όλα τα συστατικά περιέχονται στο πακέτο javax.swing. Δρ. Κεραμόπουλος Ευκλείδης 10

11 Υπάρχουν δύο ειδών υποδοχείς: Οι Εξωτερικοί, Οι Εσωτερικοί Δρ. Κεραμόπουλος Ευκλείδης 11

12 Είναι βαριά συστατικά και δεν είναι παιδιά της JComponent. Είναι τέσσερις JFrame JApplet JWindow JDialog Δρ. Κεραμόπουλος Ευκλείδης 12

13 Είναι ελαφριά συστατικά και είναι παιδιά της JComponent. Είναι δύο JPanel JRootPane Χρησιμοποιούνται για να οργανώνουν σετ από συστατικά σε ομάδες. Προφανώς οι εσωτερικοί υποδοχείς εισάγονται είτε σε κάποιο άλλο εσωτερικό ή εξωτερικό υποδοχέα. Δρ. Κεραμόπουλος Ευκλείδης 13

14 Ο υποδοχέας του ανώτερου επιπέδου αποτελείται από αντικείμενο της τάξης JRootPane και ο ρόλος του είναι να περιέχει όλα τα συστατικά της εφαρμογής και ένα προαιρετικό μενού. Ο υποδοχέας ανώτερου επιπέδου αποτελείται από τρεις υποδοχείς: Glass pane Είναι διάφανος και ο ρόλος του είναι να διαχειρίζεται τα γεγονότα που δημιουργούνται από τις ενέργειες που προκαλούνται με το ποντίκι στο υποδοχέα ανώτερου επιπέδου και τα συστατικά του. Layered pane Διαχειρίζεται τις αλληλοεπικαλύψεις των συστατικών, με άλλα λόγια επιτρέπει τα συστατικά να τοποθετούνται σε επίπεδα. Content pane Οι δύο προηγούμενοι υποδοχείς χρησιμοποιούνται πίσω από τη «σκηνή». Ο υποδοχέας όπου ουσιαστικά προστίθενται όλα τα συστατικά είναι ο συγκεκριμένος. Μπορούμε να αναφερόμαστε στους τρεις υποδοχείς με τα ονόματα glasspane, layeredpane, contentpane Δρ. Κεραμόπουλος Ευκλείδης 14

15 1. import javax.swing.*; class SwingDemo { SwingDemo() { JFrame jfrm = new JFrame("A Simple Swing Program"); jfrm.setsize(275, 100); jfrm.setdefaultcloseoperation(jframe.exit_on_close); JLabel jlab = new JLabel(" Swing powers the modern Java GUI."); jfrm.getcontentpane().add(jlab); jfrm.setvisible(true); 24. } Περιέχει τις Swing τάξεις Δημιουργεί έναν υποδοχέα ανώτερου επιπέδου Ορίζω το μέγεθος του υποδοχέα Κλείνει η εφαρμογή όταν κάνω click στο close box Δημιουργεί μία ετικέτα Προσθέτει την ετικέτα στο contentpane Κάνει ορατά όλα τα αντικείμενα Δρ. Κεραμόπουλος Ευκλείδης 15

16 25. public static void main(string args[]) { SwingUtilities.invokeLater(new Runnable() { 29. public void run() { 30. new SwingDemo(); 31. } 32. }); Δημιουργεί την Διεπιφάνεια } 35. } Δρ. Κεραμόπουλος Ευκλείδης 16

17 JFrame είναι εξωτερικός υποδοχέας. Υλοποιεί ένα παράθυρο, με μπάρα τίτλου και κουμπιά για ελαχιστοποίηση, μεγιστοποίηση και κλείσιμο του παραθύρου. JLabel είναι ένα συστατικό της Swing το οποίο χρησιμοποιείται για να εμφανίζει πληροφορίες. Είναι το πιο απλό συστατικό αφού είναι παθητικό, δηλαδή δεν μπορεί να δεχθεί ενέργειες του χρήστη. Δρ. Κεραμόπουλος Ευκλείδης 17

18 Μέθοδος setsize(): ορίζει το μέγεθος του παράθυρου void setsize(int width, int height) Μέθοδος setdefaultcloseoperation(): ορίζει τι θα συμβαίνει στην εφαρμογή όταν ο χρήστης επιλέγει να κλείσει ένα παράθυρο. void setdefaultcloseoperation(int what) Οι τιμές που μπορεί να πάρει το what είναι: 1. EXIT_ON_CLOSE : στην έξοδο σταματάει και η εφαρμογή 2. DISPOSE_ON_CLOSE: στην έξοδο σταματάει και η εφαρμογή 3. HIDE_ON_CLOSE: στην έξοδο η εφαρμογή δουλεύει στο φόντο 4. DO_NOTHING_ON_CLOSE: στην έξοδο να μην γίνει τίποτα Δρ. Κεραμόπουλος Ευκλείδης 18

19 Μέθοδος add(): προσθέτει ένα συστατικό στον υποδοχέα. Component add(component comp) Μέθοδος getcontentpane(): επιστρέφει μία αναφορά με το content pane του υποδοχέα. Container getcontentpane() Σημείωση: Μετά το JDK5 η μέθοδος getcontentpane παραλείπεται. Δηλαδή, οι παρακάτω εντολές είναι ισοδύναμες jfrm.add(jlab); Jfrm.getContentPane().add(jlab); Δρ. Κεραμόπουλος Ευκλείδης 19

20 Μέθοδος setvisible(): εμφανίζει έναν υποδοχέα. Η αρχική κατάσταση είναι να είναι αόρατος ο υποδοχέας. void setvisible(boolean flag) Οι τιμές της flag είναι true για ορατό και false για αόρατο. SwingUtilities.invokeLater(new Runnable() { public void run() { new SwingDemo(); } }); Τα προγράμματα Swing είναι event-driven (προγραμματισμός γεγονότων) γι αυτό και ενεργοποιούνται στο νήμα-γεγονότων και όχι στο νήμα-main. Με το αντικείμενο Runnable ενεργοποιούμε το νήμα-γεγονότων. Τις διεπιφάνειες τις ενεργοποιούμε πάνω στο νήμα-γεγονότων με τις μεθόδους static invokelater(runnable obj) static invokeandwait(runnable obj) Συνήθως προτιμούμε την πρώτη για desktop εφαρμογές ενώ τη δεύτερη για Applets Δρ. Κεραμόπουλος Ευκλείδης 20

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

22 Δρ. Κεραμόπουλος Ευκλείδης 22

23 Δρ. Κεραμόπουλος Ευκλείδης 23

24 Βγάζουμε τα της επιλογής Δρ. Κεραμόπουλος Ευκλείδης 24

25 Δρ. Κεραμόπουλος Ευκλείδης 25

26 Δρ. Κεραμόπουλος Ευκλείδης 26

27 Δρ. Κεραμόπουλος Ευκλείδης 27

28 Δρ. Κεραμόπουλος Ευκλείδης 28

29 Δρ. Κεραμόπουλος Ευκλείδης 29

30 Δρ. Κεραμόπουλος Ευκλείδης 30

31 Δρ. Κεραμόπουλος Ευκλείδης 31

32 Δρ. Κεραμόπουλος Ευκλείδης 32

33 Δρ. Κεραμόπουλος Ευκλείδης 33

34 Δρ. Κεραμόπουλος Ευκλείδης 34

35 Δρ. Κεραμόπουλος Ευκλείδης 35

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

37 Δρ. Κεραμόπουλος Ευκλείδης 37

38 Δρ. Κεραμόπουλος Ευκλείδης 38

39 Ορίζει τον τρόπο εξόδου Ορίζει τον τίτλο του παράθυρου Δρ. Κεραμόπουλος Ευκλείδης 39

40 Ορίζει τον μέγεθος του παράθυρου Δρ. Κεραμόπουλος Ευκλείδης 40

41 Επιλέγω το Label Δρ. Κεραμόπουλος Ευκλείδης 41

42 Δρ. Κεραμόπουλος Ευκλείδης 42

43 Δρ. Κεραμόπουλος Ευκλείδης 43

44 Το πρόγραμμα τρέχει και περιμένει το χρήστη Δρ. Κεραμόπουλος Ευκλείδης 44

45 1. package ADX_project1; 2. public class GUISwingDemo extends javax.swing.jframe { 3. /** Creates new form GUISwingDemo */ 4. public GUISwingDemo() { 5. initcomponents(); 6. } 7. /** This method is called from within the constructor to initialize the form. 8. * WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor. */ 10. // <editor-fold defaultstate="collapsed" desc="generated Code"> 11. private void initcomponents() { 12. jlabel1 = new javax.swing.jlabel(); 13. setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); 14. settitle("a Simple Swing Program"); 15. jlabel1.settext("a Swing powers the modern java GUI"); 16. javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); 17. getcontentpane().setlayout(layout); Δρ. Κεραμόπουλος Ευκλείδης 45

46 18. layout.sethorizontalgroup( 19. layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) 20..addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createsequentialgroup() 21..addContainerGap(49, Short.MAX_VALUE) 22..addComponent(jLabel1) 23..addGap(47, 47, 47)) 24. ); 25. layout.setverticalgroup( 26. layout.createparallelgroup(javax.swing.grouplayout.alignment.leading) 27..addGroup(layout.createSequentialGroup() 28..addGap(38, 38, 38) 29..addComponent(jLabel1) 30..addContainerGap(48, Short.MAX_VALUE)) 31. ); 32. pack(); 33. }// </editor-fold> Δρ. Κεραμόπουλος Ευκλείδης 46

47 34. /**package A 35. args the command line arguments 36. */ 37. public static void main(string args[]) { 38. java.awt.eventqueue.invokelater(new Runnable() { 39. public void run() { 40. new GUISwingDemo().setVisible(true); 41. } 42. }); 43. } 44. // Variables declaration - do not modify 45. private javax.swing.jlabel jlabel1; 46. // End of variables declaration 47. } Δρ. Κεραμόπουλος Ευκλείδης 47

48 Πότε δημιουργείτε ένα γεγονός; Mouse click Keyboard click Όταν περνάει κάποιο χρονικό διάστημα Πώς λειτουργεί το μοντέλο αποστολής γεγονότων (Event Handling); 1. μόλις δημιουργείται ένα γεγονός (event) από ένα αντικείμενο που μπορεί να δημιουργήσει γεγονότα (event source), τότε 2. δημιουργείται ένα αντικείμενο γεγονότος το οποίο περιέχει πληροφορίες για το γεγονός και για την πηγή από την οποία προέρχεται. 3. Το γεγονός γίνεται αντιληπτό από τον ακροατή του γεγονότος (event listener) ο οποίος καλεί 4. τον χειριστή του γεγονότος μία μέθοδο που αντιστοιχεί σε κάποιο τύπο γεγονότος. Δρ. Κεραμόπουλος Ευκλείδης 48

49 Πώς γίνεται η σύνδεση μεταξύ της πηγής ενός γεγονότος και του ακροατή; Κάθε πηγή γεγονότων παρέχει μεθόδους για την καταχώρηση ακροατών χρησιμοποιούμε τη μέθοδο addtypelistener( TypeListener el) για την αφαίρεση ακροατών χρησιμοποιούμε τη μέθοδο removetypelistener(typelistener el) Παράδειγμα jbtn.addkeylistener() προσθέτει έναν ακροατή στο αντικείμενο jbtn για το πληκτρολόγιο jbtn.addmousemotionlistener() προσθέτει έναν ακροατή στο αντικείμενο jbtn για την κίνηση του ποντικιού jbtn.removekeylistener() αφαιρεί από το αντικείμενο jbtn τον ακροατή για το πληκτρολόγιο jbtn.removemousemotionlistener() αφαιρεί από το αντικείμενο jbtn τον ακροατή για την κίνηση του ποντικιού Δρ. Κεραμόπουλος Ευκλείδης 49

50 Ο ακροατής είναι αντικείμενο το οποίο ενημερώνεται μόλις συμβεί ένα γεγονός. Για να τον χρησιμοποιήσουμε υπάρχουν δύο βασικές απαιτήσεις: 1. Θα πρέπει να έχει γίνει η καταχώρηση για κάθε γεγονός που μπορεί να προκληθεί από κάποια πηγή. Π.χ. αν θέλουμε να προγραμματίσουμε το πάτημα ενός συγκεκριμένου κουμπιού τότε θα πρέπει να προσθέσουμε έναν ακροατή για αυτό το γεγονός. 2. Θα πρέπει να υλοποιηθεί η κατάλληλη μέθοδος η οποία θα δεχθεί το γεγονός και θα το υλοποιήσει. Έτοιμες μεθόδους για να δεχθούν και να επεξεργασθούν ένα γεγονός υπάρχουν στα παρακάτω interfaces: java.awt.event java.swing.event java.beans Βασικός κανόνας για τη χρήση ενός ακροατή είναι η ταχύτητα. Αν χρειάζεται θα πρέπει να υλοποιηθεί η επεξεργασία του ακροατή σε νέο νήμα. Δρ. Κεραμόπουλος Ευκλείδης 50

51 java.util.eventobject java.awt.awtevent ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent ContainerEvent FocusEvent InputEvent PointEvent WindowEvent KeyEvent MouseEvent Δρ. Κεραμόπουλος Ευκλείδης 51

52 Μία πηγή γεγονότων δεν δημιουργεί αποκλειστικά ένα γεγονός αλλά μία σειρά από γεγονότα. Για παράδειγμα το πάτημα ενός κουμπιού δημιουργεί τα παρακάτω γεγονότα ActionEvent ComponentEvent FocusEvent MouseEvent KeyEvent Δρ. Κεραμόπουλος Ευκλείδης 52

53 Κατηγορία γεγονότος ActionEvent AdjustmentEvent ItemEvent TextEvent MouseEvent KeyEvent WindowEvent FocusEvent ComponentEvent ContainerEvent User-defined Προέλευση Δημιουργείται από κάποια ενέργεια του χρήστη, όπως πάτημα σε ένα κουμπί, διπλοπάτημα σε κάποιο από τα περιεχόμενα μιας λίστας ή ενός μενού, ή enter σε ένα στοιχείο κειμένου. Δημιουργείται από τη μεταβολή ενός ρυθμιζόμενου συστατικού, όπως η ράβδος κύλισης (scrollbar). Δημιουργείται όταν ο χρήστης επιλέγει ένα στοιχείο μιας λίστας ή πατάει σε ένα πλαίσιο ελέγχου ή σε ένα μενού επιλογών. Δημιουργείται όταν αλλάζει το περιεχόμενο ενός στοιχείου κειμένου (TextFiled, TextArea). Δημιουργείται όταν ο χρήστης μετακινεί το ποντίκι ή πατάει με αυτό. Δημιουργείται όταν πιέζεται ή απελευθερώνεται ένα πλήκτρο του πληκτρολογίου. Δημιουργείται όταν συμβαίνει μετακίνηση, μεγιστοποίηση, ελαχιστοποίηση ή κλείσιμο του παραθύρου. Δημιουργείται όταν ένα συστατικό δέχεται ή χάνει την εστίαση (focus). Δημιουργείται όταν ένα συστατικό αποκρύπτεται, εμφανίζεται, μετακινείται, ή αλλάζει μέγεθος. Δημιουργείται όταν ένα συστατικό προστίθεται ή αφαιρείται σε/από ένα συστατικό-υποδοχεά. Οτιδήποτε άλλο Δρ. Κεραμόπουλος Ευκλείδης 53

54 Κατηγορία γεγονότος MouseWheelEvent AncestorEvent CaretEvent ChangeEvent HyperlinkEvent ListDataEvent ListSelectionEvent MenuEvent TableModelEvent TreeExpansionEvent TreeModelEvent TreeSelectionEvent Προέλευση Δημιουργείται από την κίνηση της ρόδας του ποντικιού. Δημιουργείται από την προσθήκη, αφαίρεση ή μετακίνηση ενός συστατικού. Δημιουργείται όταν μετακινείται ο δείκτης του ποντικιού όταν γράφουμε κείμενο. Δημιουργείται όταν ένα συστατικό αλλάζει κατάσταση. Δημιουργείται όταν ένα hyperlink επιλέγεται. Δημιουργείται όταν αλλάξουν τα περιεχόμενα μιας λίστας. Δημιουργείται όταν αλλάζει η επιλογή μας από μία λίστα. Δημιουργείται όταν μία επιλογή μενού διαλέγεται. Δημιουργείται όταν το μοντέλο ενός πίνακα αλλάζει. Δημιουργείται όταν ένα δέντρο «ανοίγει» ή «κλείνει». Δημιουργείται όταν αλλάζει το μοντέλο του δέντρου. Δημιουργείται όταν επιλέγεται ένα κλαδί του δένρου. Δρ. Κεραμόπουλος Ευκλείδης 54

55 getsource(): ανήκει στην κλάση java.util.eventobject επιστρέφει σε μορφή Object την πηγή ενός γεγονότος getid(): ανήκει στην κλάση java.awt.awtevent επιστρέφει σε μορφή ακεραίου το ID του γεγονότος Δρ. Κεραμόπουλος Ευκλείδης 55

56 Δημιουργία μίας εφαρμογής όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Δρ. Κεραμόπουλος Ευκλείδης 56

57 To push button είναι στιγμιότυπο ενός JButton το οποίο κληρονομεί την abstract class AbstractButton όπου ορίζεται η κοινή συμπεριφορά όλων των κουμπιών στην Java Swing. Ένα push button μπορεί να περιέχει κείμενο, εικόνα ή και τα δύο. Για να δημιουργήσουμε ένα push button με κείμενο χρησιμοποιούμε τον παρακάτω δομητή: JΒutton(String msg), όπου msg το κείμενο που θα περιέχει το κουμπί. Επίσης, για να προσθέσουμε ή να αφαιρέσουμε ακροατές για push buttons μας παρέχονται οι παρακάτω μέθοδοι: void addactionlistener(actionlistener al); void removeactionlistener(actionlistener al); Το al ορίζει το αντικείμενο που θα δεχθεί μία ενημέρωση για το συγκεκριμένο γεγονός (πατήματος του συγκεκριμένου πλήκτρου) Μόλις ενημερωθεί το al για το γεγονός ενεργοποιεί τη μέθοδο: void actionperformed(actionevent ae); Δρ. Κεραμόπουλος Ευκλείδης 57

58 1. import java.awt.*; 2. import java.awt.event.*; 3. import javax.swing.*; class ButtonDemo implements ActionListener { 6. JLabel jlab; Περιέχει την FlowLayout τάξη Περιέχει την ActionListener και ActionEvent τάξη Η τάξη ButtonDemo μπορεί να χειριστεί γεγονότα επειδή Implements ActionListener ButtonDemo() { JFrame jfrm = new JFrame("A Button Example"); jfrm.setlayout(new FlowLayout()); Το frame έχει διάταξη FlowLayout, δηλαδή σε μία σειρά jfrm.setsize(220, 90); jfrm.setdefaultcloseoperation(jframe.exit_on_close); Δρ. Κεραμόπουλος Ευκλείδης 58

59 18. JButton jbtnfirst = new JButton("First"); 19. JButton jbtnsecond = new JButton("Second"); jbtnfirst.addactionlistener(this); 22. jbtnsecond.addactionlistener(this); jfrm.add(jbtnfirst); 25. jfrm.add(jbtnsecond); jlab = new JLabel("Press a button."); jfrm.add(jlab); jfrm.setvisible(true); 32. } Δημιουργείται ένα κουμπί που περιέχει το κείμενο «First» Καταχωρούμε στα κουμπιά το γεγονός ActionListener Προσθέτουμε τα κουμπιά στο Frame Προσθέτουμε την ετικέτα στο Frame Δρ. Κεραμόπουλος Ευκλείδης 59

60 33. public void actionperformed(actionevent ae) { 34. if(ae.getactioncommand().equals("first")) 35. jlab.settext("first button was pressed."); 36. else 37. jlab.settext("second button was pressed. "); 38. } public static void main(string args[]) { 41. SwingUtilities.invokeLater(new Runnable() { 42. public void run() { 43. new ButtonDemo(); 44. } 45. }); Όταν συμβαίνει ένα γεγονός τότε αυτό διαχειρίζεται από τη μέθοδο actionperformed. Το αντικείμενο ActionEvent αντιπροσωπεύει το γεγονός που δημιουργείται από το κουμπί και περνάει ως αντικείμενο. Με τη μέθοδο getactioncommand μαθαίνουμε ποιο κουμπί πατήθηκε. Το όνομα του κουμπιού είναι το κείμενο που περιέχει } 48. } Δρ. Κεραμόπουλος Ευκλείδης 60

61 Εκτέλεση Πάτημα του κουμπιού «First» Πάτημα του κουμπιού «Second» Δρ. Κεραμόπουλος Ευκλείδης 61

62 Δημιουργήσαμε ένα νέο αρχείο java ως JFrame Form. Ορίσαμε τις ιδιότητες title Δρ. Κεραμόπουλος Ευκλείδης 62

63 Και τις ιδιότητες preferredsize ενώ ορίστηκε αυτόματα η ιδιότητα Accessible Name Δρ. Κεραμόπουλος Ευκλείδης 63

64 Προσθέσαμε ένα Button και ορίσαμε την ιδιότητα του text Δρ. Κεραμόπουλος Ευκλείδης 64

65 Προσθέσαμε ακόμα ένα Button με text «Second Button» και ένα Label με text «Press a Button» Δρ. Κεραμόπουλος Ευκλείδης 65

66 Ορίζουμε η διάταξη του Frame να είναι FlowLayout Δρ. Κεραμόπουλος Ευκλείδης 66

67 Ορίζουμε τι πρέπει να γίνει όταν ενεργοποιηθεί το γεγονός των κουμπιών Δρ. Κεραμόπουλος Ευκλείδης 67

68 Μπορούμε να δούμε όλα τα αντικείμενα της εφαρμογής Προγραμματίζουμε τι θα συμβεί όταν πατηθεί το κάθε κουμπί Δρ. Κεραμόπουλος Ευκλείδης 68

69 Δημιουργία μίας εφαρμογής υλοποίησης χρονομέτρου. Θα περιέχει δύο κουμπιά, ένα start και ένα stop. Θα εμφανίζει το χρόνο που μεσολαβεί ανάμεσα στο πάτημα των δύο πλήκτρων. Δρ. Κεραμόπουλος Ευκλείδης 69

70 1. import java.awt.*; 2. import java.awt.event.*; 3. import javax.swing.*; 4. import java.util.*; Περιέχει την Calendar τάξη class StopWatch implements ActionListener { 7. JLabel jlab; 8. long start; 9. StopWatch() { 10. JFrame jfrm = new JFrame("A Simple Stopwatch"); 11. jfrm.setlayout(new FlowLayout()); 12. jfrm.setsize(230, 90); 13. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 14. JButton jbtnstart = new JButton("Start"); 15. JButton jbtnstop = new JButton("Stop"); Δρ. Κεραμόπουλος Ευκλείδης 70

71 16. jbtnstart.addactionlistener(this); 17. jbtnstop.addactionlistener(this); jfrm.add(jbtnstart); 20. jfrm.add(jbtnstop); jlab = new JLabel("Press Start to begin timing."); 23. jfrm.add(jlab); 24. jfrm.setvisible(true); 25. } Δρ. Κεραμόπουλος Ευκλείδης 71

72 26. public void actionperformed(actionevent ae) { 27. Calendar cal = Calendar.getInstance(); 28. if(ae.getactioncommand().equals("start")) { 29. start = cal.gettimeinmillis(); 30. jlab.settext("stopwatch is Running..."); 31. } 32. else 33. jlab.settext("elapsed time is " (double) (cal.gettimeinmillis() - start)/1000); 35. } public static void main(string args[]) { 38. SwingUtilities.invokeLater(new Runnable() { 39. public void run() { 40. new StopWatch(); 41. } 42. }); 43. } 44. } Παίρνουμε την ώρα του συστήματος. Παίρνουμε την ώρα του συστήματος σε milliseconds Η διαφορά μετατρέπεται σε δευτερόλεπτα Δρ. Κεραμόπουλος Ευκλείδης 72

73 JTextField: Μπορεί ο χρήστης να εισάγει μία γραμμή κειμένου. Πατώντας το πλήκτρο <ENTER> δημιουργείται ένα γεγονός το οποίο μπορεί να καλυφθεί προσθέτοντας ActionListener και προγραμματίζοντας το actionperformed του JTextField Χρήσιμες μέθοδοι: gettext(): παίρνουμε το κείμενο που έχουμε εισάγει σε ένα jtextfield settext(): γράφουμε κείμενο σε ένα jtextfield setactioncommand(string): ορίζουμε σε ποιο όνομα θα αντιδρά ένα jtextfield Δρ. Κεραμόπουλος Ευκλείδης 73

74 Δημιουργία μίας εφαρμογής για να γίνει επίδειξη χρήσης κειμένου στην Java Swing. Δρ. Κεραμόπουλος Ευκλείδης 74

75 1. import java.awt.*; 2. import java.awt.event.*; 3. import javax.swing.*; class JTextFieldDemo implements ActionListener { JTextField jtf; 8. JLabel jlab; Δημιουργία αντικειμένου TextField JTextFieldDemo() { 11. JFrame jfrm = new JFrame("A Text Field Example"); 12. jfrm.setlayout(new FlowLayout()); 13. jfrm.setsize(240, 90); 14. jfrm.setdefaultcloseoperation(jframe.exit_on_close); Δρ. Κεραμόπουλος Ευκλείδης 75

76 15. jtf = new JTextField(10); 16. jtf.addactionlistener(this); 17. jfrm.add(jtf); 18. jlab = new JLabel(""); 19. jfrm.add(jlab); 20. jfrm.setvisible(true); 21. } public void actionperformed(actionevent ae) { 24. jlab.settext("current contents: " + jtf.gettext()); 25. } public static void main(string args[]) { 28. SwingUtilities.invokeLater(new Runnable() { 29. public void run() { 30. new JTextFieldDemo(); 31. } 32. }); 33. } 34. } Δρ. Κεραμόπουλος Ευκλείδης 76

77 Δημιουργία μίας εφαρμογής για να γίνει επίδειξη χρήσης δύο περιοχών κειμένου στην Java Swing. Δρ. Κεραμόπουλος Ευκλείδης 77

78 1. import java.awt.*; 2. import java.awt.event.*; 3. import javax.swing.*; class TwoTFDemo implements ActionListener { JTextField jtf1; 8. JTextField jtf2; 9. JLabel jlab; TwoTFDemo() { 12. JFrame jfrm = new JFrame("Use Two Text Fields"); 13. jfrm.setlayout(new FlowLayout()); 14. jfrm.setsize(240, 120); 15. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 16. jtf1 = new JTextField(10); 17. jtf2 = new JTextField(10); Δρ. Κεραμόπουλος Ευκλείδης 78

79 18. jtf1.setactioncommand("one"); 19. jtf2.setactioncommand("two"); Ορίζουμε τα ονόματα των TextField jtf1.addactionlistener(this); 22. jtf2.addactionlistener(this); 23. jfrm.add(jtf1); 24. jfrm.add(jtf2); 25. jlab = new JLabel(""); 26. jfrm.add(jlab); 27. jfrm.setvisible(true); 28. } public void actionperformed(actionevent ae) { 31. if(ae.getactioncommand().equals("one")) 32. jlab.settext("enter pressed in tf1: + jtf1.gettext()); 33. else 34. jlab.settext("enter pressed in jtf2: + jtf2.gettext()); 35. } Δρ. Κεραμόπουλος Ευκλείδης 79

80 36. public static void main(string args[]) { 37. SwingUtilities.invokeLater(new Runnable() { 38. public void run() { 39. new TwoTFDemo(); 40. } 41. }); 42. } 43. } Δρ. Κεραμόπουλος Ευκλείδης 80

81 Δημιουργία μίας εφαρμογής υλοποίησης ενός απλού κωδικοποιητή-αποκωδικοποιητή. Η εφαρμογή αποτελείται από τρία κουμπιά (Code, Decode, Reset), δύο περιοχές κειμένου (μία για το code και μία για το decode) και δύο ετικέτες για το χαρακτηρισμό των περιοχών κειμένου. Δρ. Κεραμόπουλος Ευκλείδης 81

82 1. import java.awt.*; 2. import java.awt.event.*; 3. import javax.swing.*; class Coder implements ActionListener { JTextField jtfplaintext; 8. JTextField jtfciphertext; Coder() { 11. JFrame jfrm = new JFrame("A Simple Code Machine"); 12. jfrm.setlayout(new FlowLayout()); 13. jfrm.setsize(340, 120); 14. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 15. JLabel jlabplaintext = new JLabel(" Plain Text: "); 16. JLabel jlabciphertext = new JLabel("Cipher Text: "); 17. jtfplaintext = new JTextField(20); 18. jtfciphertext = new JTextField(20); Δρ. Κεραμόπουλος Ευκλείδης 82

83 19. jtfplaintext.setactioncommand("encode"); 20. jtfciphertext.setactioncommand("decode"); jtfplaintext.addactionlistener(this); 23. jtfciphertext.addactionlistener(this); jfrm.add(jlabplaintext); 26. jfrm.add(jtfplaintext); 27. jfrm.add(jlabciphertext); 28. jfrm.add(jtfciphertext); JButton jbtnencode = new JButton("Encode"); 31. JButton jbtndecode = new JButton("Decode"); 32. JButton jbtnreset = new JButton("Reset"); jbtnencode.addactionlistener(this); 35. jbtndecode.addactionlistener(this); 36. jbtnreset.addactionlistener(this); Δρ. Κεραμόπουλος Ευκλείδης 83

84 37. jfrm.add(jbtnencode); 38. jfrm.add(jbtndecode); 39. jfrm.add(jbtnreset); 40. jfrm.setvisible(true); 41. } public void actionperformed(actionevent ae) { 44. if(ae.getactioncommand().equals("encode")) { 45. StringBuilder str = new StringBuilder(jtfPlaintext.getText()); for(int i=0; i<str.length(); i++) 48. str.setcharat(i, (char)(str.charat(i) + 1)); jtfciphertext.settext(str.tostring()); 51. } } Δρ. Κεραμόπουλος Ευκλείδης 84

85 54. else if(ae.getactioncommand().equals("decode")) { 55. StringBuilder str = new StringBuilder(jtfCiphertext.getText()); 56. for(int i=0; i<str.length(); i++) 57. str.setcharat(i, (char)(str.charat(i) - 1)); 58. jtfplaintext.settext(str.tostring()); 59. } 60. else { 61. jtfplaintext.settext(""); 62. jtfciphertext.settext(""); 63. } 64. } public static void main(string args[]) { 67. SwingUtilities.invokeLater(new Runnable() { 68. public void run() { 69. new Coder(); 70. } 71. }); 72. } 73. } Δρ. Κεραμόπουλος Ευκλείδης 85

86 επόμενη ενότητα

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

VK -14/10/2016 Σελίς 1 Ο Source Kώδικας της JFrame Φόρµας µε όνοµα Αsk1 Με δεξί κλικ στο Source Packages του project Ergastirio1 µε New -> JFrame Form επιλέξαµε να δηµιουργηθεί η JFrame φόρµα (πλαίσιο) µε όνοµα κλάσης Class

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

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

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

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

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

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Τα όρια μπορούν να εμφανιστούν σε κάθε συστατικό της Java Swing. Με τα όρια μπορούμε να ορίσουμε εμφανή περιθώρια για κάθε συστατικό. Η εμφάνιση των ορίων είναι ιδιαίτερα χρήσιμη

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

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

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

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

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

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

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

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

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

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

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

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

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

Week 10: Graphical User Interfaces

Week 10: Graphical User Interfaces Week 10: Graphical User Interfaces Έννοιες του προγραµµατισµού ΓΠΕ [GUI] Εβδοµάδα 10: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] ιάταξη [layout] [event-driven

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

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

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Το JList είναι ένα από τα τρία συστατικά (JComboBox, JSpinner) που χρησιμοποιούνται στη Java Swing για την επιλογή από λίστα πληροφοριών. Με το συστατικό JList μπορούμε να επιλέξουμε

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

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

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

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

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

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

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

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. Ιδιαίτερα

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

Week 12: GUIs with Swing

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

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

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

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

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

ΓΡΑΦΙΚΕΣ ΔΙΕΠΑΦΕΣ ΧΡΗΣΤΗ- SWING (1)

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

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

Ask1, Ask2, Ask3. private void jbutton1actionperformed(java.awt.event.actionevent evt) { jlabel1.settext( "You pressed the 1st button" ); }

Ask1, Ask2, Ask3. private void jbutton1actionperformed(java.awt.event.actionevent evt) { jlabel1.settext( You pressed the 1st button ); } ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 1 o ΕΡΓΑΣΤΗΡΙO-3ασκήσεις Θα χρησιµοποιηθεί το πακέτο ΝetBeansIDE Θα δηµιουργήσουµε µια νέα εφαρµογή/ Project µε όνοµα π.χ. Ergastirio1 επιλέγοντας από το 1 ο µενού File /

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

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

8. Το μοντέλο συμβάντων του AWT 8. Το μοντέλο συμβάντων του AWT Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να γράφετε κώδικα που θα αντιμετωπίζει συμβάντα που θα συμβαίνουν στη διεπαφή με το χρήστη Να χρησιμοποιείτε τις κατάλληλες διεπαφές

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

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

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

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

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

Εργαστήριο 5 - Άσκηση - Ανάλυση Εργαστήριο 5 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «ιακο ές» σε Java Swing µε χρήση NetBeans, χρησιµο οιώντας τις εικόνες ου θα βρείτε στο moodle και ακολουθώντας τις αρακάτω οδηγίες:

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

New Project Windows Forms Applications

New Project Windows Forms Applications Ανάπτυξη απλής εφαρµογής. Solutions, Projects, GUI, Events, Debugging. New Project Windows Forms Applications Name: ΜyLucky7 Location: C:\... Solution Name: ΜyLucky7 OK (επιλογή έκδοσης του πλαισίου Εφαρµογών.NET)

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

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

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων Τι θα μάθουμε σήμερα: Να αναφέρουμε τα κύρια χαρακτηριστικά ενός Γραφικού Περιβάλλοντος Επικοινωνίας Να εξηγούμε τη χρήση των κουμπιών του

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

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

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

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

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

Εργαστήριο 7 - Άσκηση - Ανάλυση Εργαστήριο 7 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «simple editor» σε Java Swing µε χρήση NetBeans. Στην εφαρµογή αυτή ο χρήστης θα µ ορεί να φορτώνει, α οθηκεύει α λό αρχείο κειµένου

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

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

Εργαστήριο 4 - Άσκηση - Ανάλυση Εργαστήριο 4 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «Audio Player» σε Java Swing µε χρήση NetBeans ακολουθώντας τις αρακάτω οδηγίες. 1. Η εφαρµογή θα σχεδιασθεί σε ένα εξωτερικό υ οδοχέα

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

Περιεχόµενα. Πρόλογος...15

Περιεχόµενα. Πρόλογος...15 Περιεχόµενα Πρόλογος...15 Κεφάλαιο 1: Εισαγωγή...17 Τι είναι η Java... 17 Η ιστορία της Java... 21 Εκδόσεις της Java... 23 Ξεκίνηµα µε την Java... 24 Το περιβάλλον της γλώσσας... 28 ηµιουργία µιας εφαρµογής

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

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

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

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

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

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

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

Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5. Περιεχόμενα

Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5. Περιεχόμενα Μέρος ΙΙ Εφαρμογές γραφικών με το πακέτο swing - 5 Περιεχόμενα 1 Βασικές Έννοιες σε Εφαρμογές με Γραφικά... 12 1.1 Οι συνιστώσες τηs Java... 12 1.2 Tα πακέτα για συνιστώσες.... 12 1.3 Η κλάσεις στο πακέτο

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

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

Βιοϊατρική τεχνολογία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοϊατρική τεχνολογία Ενότητα 5: Οξύμετρο (OxyPro Project) Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr ΕΕΔΙΠ Μπέλλου Σοφία e-mail: sbellou@uowm.gr

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

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

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

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

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας. Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". ΚΕΦΑΛΑΙΟ 2 Χρήση εργαλείων

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

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

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

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

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

Εργαστήριο 8 - Άσκηση - Ανάλυση Εργαστήριο 8 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «Simple Menu Editor» σε Java Swing µε χρήση NetBeans. Στην εφαρµογή αυτή ο χρήστης θα µ ορεί να φορτώνει, α οθηκεύει α λό αρχείο κειµένου

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

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 18: Προγραμματισμός με Γραφικά (Graphics Programming) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι βιβλιοθήκες AWT και SWING, κύρια αντικείμενα -Προγραμματισμός με συμβάντα (event-driven

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

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

Προγραμματισμός Διαδικτύου 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Προγραμματισμός Διαδικτύου Ενότητα 11 : Το πακέτο SWING Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

Εργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net

Εργαστήριο Java. Αντικείµενο: Δίκτυα. Χειρισµός URLs. Άσκηση 1. Lab11. Πακέτο java.net Εργαστήριο Java Lab11 Αντικείµενο: Δίκτυα Πακέτο java.net H Java παρέχει ένα σύνολο από ενσωµατωµένες δυνατότητες για δηµιουργία εφαρµογών στο Internet ή σε τοπικά δίκτυα. H Java παρέχει τα stream sockets

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

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

Εργαστήριο 10 Άσκηση 1 - Ανάλυση Εργαστήριο 10 Άσκηση 1 - Ανάλυση Εκφώνηση: Στο moodle σας δίνονται οι εικόνες έξι ηρώων της ταινίας Star Wars. Για κάθε ήρωα σας δίνεται µία µεγάλη και µία µικρή εικόνα. Ε ίσης, σας δίνονται και οι εικόνες

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς

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

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

Εργαστήριο 9 - Άσκηση - Ανάλυση Εργαστήριο 9 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε ένα αντίγραφο της άσκησης της 8ης εργαστηριακής εβδοµάδας. Κάντε τις α αραίτητες τρο ο οιήσεις ώστε να αντικαταστήσετε τα δύο jdialog ου χρησιµο οιήσατε

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

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

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

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

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1 Κλάσεις στη Java Παύλος Εφραιμίδης Java Κλάσεις στη Java 1 Κλάσεις στην Java Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 2

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

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack Κλάσεις στην Java Κλάσεις στη Java Παύλος Εφραιμίδης Θα δούμε τη διαδικασία δημιουργίας μιας κλάσης Θα υλοποιήσουμε μια κλάση για τη Δομή Δεδομένων Stack Java Κλάσεις στη Java 1 Java Κλάσεις στη Java 2

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

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

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

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

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

Το πρόγραμμα 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 υποστηρίζει

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

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

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC Η Visual Basic είναι μια γλώσσα προγραμματισμού οδηγούμενη από συμβάντα που έχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης Έχει δημιουργηθεί από τη

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Χρήση εργαλείων Εικόνων, Εντολών και Ετικετών ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

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

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

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Swing H Swing είναι η βιβλιοθήκη της Java για τον προγραμματισμό GUIs (Graphical User Interfaces) [και πιο γενικά για

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

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

Εκφωνήσεις ασκήσεων εργαστηρίου 2 (java threads)

Εκφωνήσεις ασκήσεων εργαστηρίου 2 (java threads) Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Σχολή Τεχνολογικών Εφαρμογών Ακαδημαϊκό έτος 2016-2017 ΤΕΙ Ηπείρου - Άρτα Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Γκόγκος Χρήστος Εκφωνήσεις ασκήσεων εργαστηρίου

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

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

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

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

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

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

αντίστοιχο γεγονός. Όταν όντως το κουμπί

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

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

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

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

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

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. Μια παρόµοια διεπαφή (δες

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

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

Τα Windows Πολύ Απλά και Πολύ Σύντομα Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". Τα Windows Πολύ Απλά και

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

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

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

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

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Windows Vista... 9 92 Επιφάνεια εργασίας... 18 93 Γραμμή εργασιών... 31 94 Χειρισμός παραθύρων... 53 95 Το παράθυρο Υπολογιστής... 77 96 Το μενού Έναρξη...

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

ηµιουργία ιαλογικών Προγραµµάτων για το Web

ηµιουργία ιαλογικών Προγραµµάτων για το Web ηµιουργία ιαλογικών Προγραµµάτων για το Web Βοηθητικές Εφαρµογές (). Οι βασικές µέθοδοι των Βοηθητικών Εφαρµογών. Η µέθοδος init(). Οι µέθοδοι start() και stop(). Η µέθοδος paint(). Η µέθοδος destroy().

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο

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

Σύνθεταγραφικάσ ε Java

Σύνθεταγραφικάσ ε Java Σύνθεταγραφικάσ ε Java ΙωάννηςΓ.Τσ ούλος May 15, 2013 1 Δημιουργία απλών παραθύρων Τοεπόμενοπαράδειγμαδημιουργείέναπαράθυρομεδύοσ τατικάκείμενασ εαυτό. Στοπρώτοσ τατικόκείμενοτοκείμενοείναιαπλόκαισ τοδεύτερογίνεταιχρήσ

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING Επισκόπηση Swing H Swing είναι η βιβλιοθήκη της Java για τον προγραμματισμό GUIs (Graphical User Interfaces) [και πιο

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

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

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

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

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

Τ.Ε.Ι. Μεσολογγίου, Τµήµα τηλεπικοινωνιακών Συστημάτων & Δικτύων Εργαστήριο Java Αντικείμενο: Αρχεία Πακέτο java.io Πακέτο java.io.zip Στην Java δεν υπάρχει η έννοια των εγγραφών μέσα σε ένα αρχείο. Ο προγραμματιστής πρέπει να κατασκευάσει το αρχείο κατάλληλα έτσι ώστε

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

9.1 JFC Swing. 9.1 JFC Swing Java (GUI) Java. Java Foundation Classes (JFC) Swing GUI. JFC Card Pile GameFrame GUI

9.1 JFC Swing. 9.1 JFC Swing Java (GUI) Java. Java Foundation Classes (JFC) Swing GUI. JFC Card Pile GameFrame GUI 9 2013 6 11 9.1 JFC Swing.................................... 9 1 9.2 (Graphics )................. 9 2 9.3.................................. 9 4 9.4 (Color ).............................. 9 6 9.5.......................................

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

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

Εργαστήριο 6 - Άσκηση - Ανάλυση Εργαστήριο 6 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε την εφαρµογή «fastfood» σε Java Swing µε χρήση NetBeans χρησιµο οιώντας τις εικόνες ου θα βρείτε στο moodle. Στην εφαρµογή ο υ άλληλος του µαγαζιού

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει

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

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

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

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

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Περιεχόμενα Εισαγωγή Εγκατάσταση Δημιουργία νέου project Java Editor Perspectives Δημιουργία source folders Προσθήκη νέου αρχείου στο project Εισάγωντας

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

Γραφικές ιεπαφές Χρήστη και Γραφικά

Γραφικές ιεπαφές Χρήστη και Γραφικά Κεφάλαιο 18 Γραφικές ιεπαφές Χρήστη και Γραφικά Νοηµοσύνη είναι η ικανότητα να δηµιουργούµε τεχνητά αντικείµενα, ιδιαίτερα εργαλεία που φτιάχνουν εργαλεία. Henri Bergson Η ζωγραφική είναι µόνο µια γέφυρα

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο

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

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

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

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

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

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

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!! Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο Τελική Εξέταση

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

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

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

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

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ Στο παιχνίδι υπάρχουν τουβλάκια διαφόρων χρωμάτων. Σκοπός του παιχνιδιού είναι να καταστραφούν όλα τα τουβλάκια. Ο παίκτης χειρίζεται από το πληκτρολόγιο μία ρακέτα. Ένα μπαλάκι

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

1. Γνωριμία Με Το Περιβάλλον Του Ηλεκτρονικού Υπολογιστή

1. Γνωριμία Με Το Περιβάλλον Του Ηλεκτρονικού Υπολογιστή WINDOWS ΣΤΟΧΟΙ: 1. Γνωριμία Με Το Περιβάλλον Του Ηλεκτρονικού Υπολογιστή 2. Γνωριμία Με Την Επιφάνεια Εργασίας (Desktop) 3. Ta Βασικά Εικονίδια Της Επιφάνειας Εργασίας (Desktop) 4. Κουμπιά Παραθύρων 5.

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

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

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

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

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

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

Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 1ο μέρος. Μάθημα 4ο Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 1ο μέρος. Σε αυτό το μάθημα θα δημιουργήσουμε ένα απλό παιχνίδι με τη βοήθεια του Director. Το παιχνίδι θα είναι στο ύφος του γνωστού Pacman,

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