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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcript

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

2 Το JList είναι ένα από τα τρία συστατικά (JComboBox, JSpinner) που χρησιμοποιούνται στη Java Swing για την επιλογή από λίστα πληροφοριών. Με το συστατικό JList μπορούμε να επιλέξουμε ένα ή περισσότερα (ταυτόχρονα) αντικείμενα από τη λίστα. Συνήθως χρησιμοποιείται για αλφαριθμητικά αλλά μπορεί να χρησιμοποιηθεί για οποιοδήποτε αντικείμενο μπορεί να παρουσιασθεί σε λίστα. Η JList βασίζεται σε δύο μοντέλα στο ListModel, όπου ορίζεται πως θα γίνεται η πρόσβαση στη λίστα στο ListSelectionModel, όπου ορίζεται ποια αντικείμενα της λίστα επιλέχθηκαν. Δρ. Κεραμόπουλος Ευκλείδης 2

3 ΔΟΜΗΤΗΣ JList() JList(Object[] items) JList(ListModel lm) ΠΕΡΙΓΡΑΦΗ Δημιουργεί μία άδεια λίστα Δημιουργεί μία λίστα που περιέχει τα αντικείμενα items Δημιουργεί μία λίστα που χρησιμοποιεί το μοντέλο που περιγράφεται από το lm Δρ. Κεραμόπουλος Ευκλείδης 3

4 Για να ορίσουμε γεγονότα κύλισης σε μία λίστα θα πρέπει να βάλουμε το JList μέσα σε ένα JScrollPane. Η μεταβολή στην κατάσταση μίας λίστας (επιλογή κάποιου αντικειμένου της) δημιουργεί ένα γεγονός ListSelectionEvent το οποίο το «ακούει» ένα ListSelectionListener ακροατής και διαχειρίζεται από τη μέθοδο valuechanged(). void valuechanged(listselectionevent le); Δρ. Κεραμόπουλος Ευκλείδης 4

5 Μία λίστα είναι ορισμένη να δέχεται πολλαπλές επιλογές. Μπορούμε με την μέθοδο setselectionmode να ορίσουμε τον αριθμό των επιλογών. void setselectionmode(int mode); Το mode μπορεί να πάρει τις παρακάτω τιμές, οι οποίες έχουν οριστεί στο ListSelectionModel: SINGLE_SELECTION Μόνο ένα αντικείμενο από τη λίστα SINGLE_INTERVAL_SELECTION Μία σειρά από συνεχόμενα αντικείμενα από τη λίστα MULTIPLE_INTERVAL_SELECTION Πολλαπλά αντικείμενα από τη λίστα είτε σε σειρά είτε όχι. Δρ. Κεραμόπουλος Ευκλείδης 5

6 Με τη μέθοδο getselectedindex() μπορούμε να μάθουμε τη θέση ενός επιλεγμένου στοιχείου. int getselectedindex(); Το πρώτο στοιχείο είναι στη θέση 0. Αν δεν έχει επιλεχθεί στοιχείο τότε επιστρέφει -1. Δρ. Κεραμόπουλος Ευκλείδης 6

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

8 1. package ADX_project1; 2. import javax.swing.*; 3. import javax.swing.event.*; 4. import java.awt.*; 5. import java.awt.event.*; 6. class ListDemo { 7. JList jlst; 8. JLabel jlab; 9. JScrollPane jscrlp; 10. JButton jbtnbuy; Δήλωση JList 11. String wines[] = { "Λευκό", "Ροζέ", "Κόκκινο ", "Χρυσό", "Μελωδικός", "Μαυροδάφνη"}; 12. ListDemo() { 13. JFrame jfrm = new JFrame("JList Demo"); 14. jfrm.setlayout(new FlowLayout()); 15. jfrm.setsize(204, 200); 16. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 17. jlst = new JList(wines); 18. jlst.setselectionmode(listselectionmodel.single_selection); Το περιεχόμενο JList Ορισμός απλής επιλογής Δρ. Κεραμόπουλος Ευκλείδης 8

9 19. jscrlp = new JScrollPane(jlst); 20. jscrlp.setpreferredsize(new Dimension(120, 90)); 21. jlab = new JLabel(" Επέλεξε τύπο κρασιού "); 22. jlst.addlistselectionlistener(new ListSelectionListener() { 23. public void valuechanged(listselectionevent le) { 24. int idx = jlst.getselectedindex(); 25. if(idx!= -1) 26. jlab.settext(" Επέλεξες το " + wines[idx]); 27. else 28. jlab.settext(" Επέλεξε τύπο κρασιού "); 29. } 30. }); Βάζουμε το JList μέσα σε JScrollPane Όταν αλλάζει η επιλογή σε μία λίστα τότε με τη μέθοδο getselectedindexed μαθαίνουμε τη θέση του επιλεγμένου αντικειμένου, το βρίσκουμε στον πίνακα και το εμφανίζουμε 31. jbtnbuy = new JButton(" Αγόρασε Κρασί "); 32. jbtnbuy.addactionlistener(new ActionListener() { 33. public void actionperformed(actionevent ae) { 34. int idx = jlst.getselectedindex(); 35. if(idx!= -1) jlab.settext(" Αγόρασες το κρασί " + wines[idx]); 36. else 37. jlab.settext(" Δεν έχει επιλεγεί κάποιο κρασί."); 38. } 39. }); Δρ. Κεραμόπουλος Ευκλείδης 9

10 40. jfrm.add(jscrlp); 41. jfrm.add(jbtnbuy); 42. jfrm.add(jlab); 43. jfrm.setvisible(true); 44. } 45. public static void main(string args[]) { 46. SwingUtilities.invokeLater(new Runnable() { 47. public void run() { 48. new ListDemo(); 49. } 50. }); 51. } 52. } Δρ. Κεραμόπουλος Ευκλείδης 10

11 Για να διαχειριστούμε πολλαπλές επιλογές αντικειμένων από μία λίστα, το οποίο είναι και η προεπιλογή, θα χρησιμοποιήσουμε τη μέθοδο getselectedindices() int [] getselectedindices(); Επιστρέφει ένα πίνακα με τις θέσεις των επιλεγμένων στοιχείων. Αν η επιλογή είναι SINGLE_INTERVAL_SELECTION τότε οι θέσεις επιστρέφονται ταξινομημένες ξεκινώντας από τη πρώτη. Αν η επιλογή είναι MULTIPLE_INTERVAL_SELECTION τότε οι θέσεις επιστρέφονται ανακατεμένες. Δρ. Κεραμόπουλος Ευκλείδης 11

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

13 1. package ADX_project1; 2. import javax.swing.*; 3. import javax.swing.event.*; 4. import java.awt.*; 5. import java.awt.event.*; 6. class MultiRangeList { 7. JList jlst; 8. JLabel jlab; 9. JScrollPane jscrlp; 10. JButton jbtnbuy; 11. String wines[] = { "Λευκό", "Ροζέ", "Κόκκινο", "Χρυσό", "Μελωδικός", "Μαυροδάφνη"}; 12. MultiRangeList() { 13. JFrame jfrm = new JFrame( Πολλαπλή Σειρά"); 14. jfrm.setlayout(new FlowLayout()); 15. jfrm.setsize(180, 240); 16. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 17. jlst = new JList(wines); 18. jscrlp = new JScrollPane(jlst); 19. jscrlp.setpreferredsize(new Dimension(120, 90)); 20. jlab = new JLabel("Επέλεξε τύπους κρασιών"); Παραλείπεται η επιλογή αφού η προεπιλογή είναι η πολλαπλή Δρ. Κεραμόπουλος Ευκλείδης 13

14 21. jlst.addlistselectionlistener(new ListSelectionListener() { 22. public void valuechanged(listselectionevent le) { 23. String what = ""; 24. int indices[] = jlst.getselectedindices(); 25. if(indices.length == 0) { 26. jlab.settext(" Επέλεξε τύπους κρασιών "); 27. return; 28. } 29. for(int i = 0; i < indices.length; i++) 30. what += wines[indices[i]] + "<br>"; Στον πίνακα indices αποθηκεύονται οι θέσεις των επιλεγμένων αντικειμένων 31. jlab.settext("<html> Η επιλογή σου :<br>" + what); 32. } 33. }); 34. jbtnbuy = new JButton(" Αγόρασε Κρασί "); Δρ. Κεραμόπουλος Ευκλείδης 14

15 35. jbtnbuy.addactionlistener(new ActionListener() { 36. public void actionperformed(actionevent ae) { 37. String what = ""; 38. int indices[] = jlst.getselectedindices(); 39. if(indices.length == 0) { 40. jlab.settext("κανένα κρασί δεν επιλέχτηκε."); 41. return; 42. } 43. for(int i = 0; i < indices.length; i++) 44. what += wines[indices[i]] + "<br>"; 45. jlab.settext("<html>αγόρασες τα κρασιά:<br>" + what); 46. } 47. }); 48. jfrm. add(jscrlp); jfrm.add(jbtnbuy); 49. jfrm. add(jlab); jfrm.setvisible(true); 50. } 51. public static void main(string args[]) { 52. SwingUtilities.invokeLater(new Runnable() { 53. public void run() { 54. new MultiRangeList(); 55. } 56. }); 57. } 58. } Δρ. Κεραμόπουλος Ευκλείδης 15

16 Object getselectedvalue(); Επιστρέφει το αντικείμενο που επιλέχθηκε Object[] getselectedvalues(); Επιστρέφει πίνακα με τα αντικείμενα που επιλέχθηκαν void setselectedindex(int idx); void setselectedindices(int[] idxs); Ορίζει ποιες θέσεις θα επιλεχθούν. Χρησιμοποιείται για ορισμό των προεπιλογών μίας λίστας, π.χ. jlst.setselectedindex(0); int idxs = {1,3,5}; jlst.setselectedindices(idxs); Δρ. Κεραμόπουλος Ευκλείδης 16

17 void setselectedvalue(object item, boolean sd); Ορίζει την τιμή της λίστας που επιλέχθηκε και προκαλεί κύλιση στη λίστα για να εμφανίζεται η συγκεκριμένη τιμή. void clearselection(); Ακυρώνει όλες τις επιλογές μίας λίστας. boolean isselectionempty(); Ενημερώνει αν υπάρχει επιλογή στη λίστα. void setlistdata(object[] items); Γεμίζει τη λίστα με τον πίνακα items. Δρ. Κεραμόπουλος Ευκλείδης 17

18 Τα βήματα για τη διαχείριση λίστας με χρήση μοντέλου είναι: 1. Δημιουργία μοντέλου 2. Εισαγωγή αντικειμένων στο μοντέλο 3. Δημιουργία της λίστας. Χρήσιμες μέθοδοι για τη διαχείριση ενός List Model είναι: void add(int idx, Object item) προσθέτει αντικείμενο στη συγκεκριμένη θέση της λίστας void addelement(object item) προσθέτει αντικείμενο στη τελευταία θέση της λίστας void clear() αφαιρεί όλα τα αντικείμενα από τη λίστα Object get(int idx) επιστρέφει το αντικείμενο που βρίσκεται στη συγκεκριμένη θέση int getsize() επιστρέφει τον αριθμό των στοιχείων μίας λίστας void remove(int idx) αφαιρεί το αντικείμενο στη συγκεκριμένη θέση void removerange(int start, int end) αφαιρεί τα αντικείμενα από τη θέση start μέχρι τη θέση end Δρ. Κεραμόπουλος Ευκλείδης 18

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

20 1. package ADX_project1; 2. import javax.swing.*; 3. import javax.swing.event.*; 4. import java.awt.*; 5. import java.awt.event.*; 6. class ListModelDemo { 7. JList jlst; 8. JLabel jlab; 9. JScrollPane jscrlp; 10. JButton jbtnbuy; 11. JButton jbtnadddel; 12. ListModelDemo() { 13. JFrame jfrm = new JFrame("JList ModelDemo"); 14. jfrm.setlayout(new FlowLayout()); 15. jfrm.setsize(180, 240); 16. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 17. DefaultListModel lm = new DefaultListModel(); 18. lm.addelement("λευκό"); 19. lm.addelement("ροζέ"); 20. lm.addelement("κόκκινο"); 21. lm.addelement("χρυσό"); 22. lm.addelement("μελωδικός"); Δημιουργία μοντέλου λίστας Εισαγωγή τιμών στη λίστα Δρ. Κεραμόπουλος Ευκλείδης 20

21 23. jlst = new JList(lm); Δημιουργία λίστας με βάση το μοντέλο λίστας 24. jscrlp = new JScrollPane(jlst); 25. jscrlp.setpreferredsize(new Dimension(120, 90)); 26. jlab = new JLabel("Επέλεξε κρασί"); 27. jlst.addlistselectionlistener(new ListSelectionListener() { 28. public void valuechanged(listselectionevent le) { 29. String what = ""; 30. Object values[] = jlst.getselectedvalues(); 31. if(values.length == 0) { 32. jlab.settext(" Επέλεξε κρασί "); 33. return; 34. } 35. for(int i = 0; i < values.length; i++) 36. what += values[i] + "<br>"; 37. jlab.settext("<html>η επιλογή σου:<br>" + what); 38. } 39. }); Διαχείριση αλλαγών στη λίστα και εύρεση επιλεγμένων τιμών με χρήση της μεθόδου getselectedvalues 40. jbtnbuy = new JButton("Αγόρασε κρασί "); Δρ. Κεραμόπουλος Ευκλείδης 21

22 41. jbtnbuy.addactionlistener(new ActionListener() { 42. public void actionperformed(actionevent ae) { 43. String what = ""; 44. Object values[] = jlst.getselectedvalues(); 45. if(values.length == 0) { 46. jlab.settext("δεν έχει επιλεγεί κρασί."); 47. return; 48. } 49. for(int i = 0; i < values.length; i++) 50. what += values[i] + "<br>"; 51. jlab.settext("<html>αγοράστηκαν τα κρασιά:<br>" + what); 52. } 53. }); 54. jbtnadddel = new JButton("Πρόσθεσε ποικιλίες"); 55. jbtnadddel.addactionlistener(new ActionListener() { 56. public void actionperformed(actionevent ae) { 57. DefaultListModel lm = (DefaultListModel) jlst.getmodel(); 58. if(lm.getsize() > 5) { 59. for(int i=5; i > 4; i--) lm.remove(i); 60. jbtnadddel.settext("πρόσθεσε ποικιλίες"); 61. } else { 62. lm.addelement("μερλό"); 63. jbtnadddel.settext("αφαίρεσε Extra ποικιλίες"); 64. } 65. } 66. }); Καταρχήν με τη μέθοδο getmodel παίρνει την τιμή του μοντέλου. Έπειτα με βάση το μοντέλο φροντίζει ώστε αν τα αντικείμενα της λίστας είναι περισσότερα από 5 να μειωθούν αλλιώς να αυξηθούν. Δρ. Κεραμόπουλος Ευκλείδης 22

23 67. jfrm.add(jscrlp); 68. jfrm.add(jbtnbuy); 69. jfrm.add(jbtnadddel); 70. jfrm.add(jlab); 71. jfrm.setvisible(true); 72. } 73. public static void main(string args[]) { 74. SwingUtilities.invokeLater(new Runnable() { 75. public void run() { 76. new ListModelDemo(); 77. } 78. }); 79. } 80. } Δρ. Κεραμόπουλος Ευκλείδης 23

24 Μία παραλλαγή της λίστας είναι το combo box. Ουσιαστικά είναι μία λίστα που εμφανίζεται (είναι ορατό) μόνο ένα στοιχείο της. Υπάρχουν δύο τύποι combo box: Το combo box το οποίο ανοίγει με ένα pop-up μενού και επιλέγουμε το αντικείμενο που θέλουμε Το combo box το οποίο επεκτείνει την πρώτη περίπτωση επιτρέποντας να προσθέσουμε και μία τιμή. Δρ. Κεραμόπουλος Ευκλείδης 24

25 ΔΟΜΗΤΗΣ JComboBox() JComboBox(Object[] items) JComboBox(ComboBoxModel cbm) ΠΕΡΙΓΡΑΦΗ Δημιουργεί ένα άδειο combo box Δημιουργεί ένα combo box το οποίο περιέχει τα αντικείμενα του πίνακα items Δημιουργεί ένα combo box με βάση το μοντέλο cbm Αν οριστεί ως μοντέλο το MutableComboBoxModel τότε επιτρέπεται στο combo box η εισαγωγή τιμών (αυτό είναι το default μοντέλο). Ενώ αν οριστεί ως μοντέλο το ImmutableComboBoxModel τότε δεν επιτρέπεται η εισαγωγή στο combo box. Δρ. Κεραμόπουλος Ευκλείδης 25

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

27 1. package ADX_project1; 2. import javax.swing.*; 3. import java.awt.*; 4. import java.awt.event.*; 5. class ComboBoxDemo { Δήλωση combo box 6. JComboBox jcbb; 7. JLabel jlab; 8. String wines[] = { "Λευκό", "Ροζέ", "Κόκκινο", "Χρυσό", "Μελωδικός", "Μαυροδάφνη"}; ComboBoxDemo() { 11. JFrame jfrm = new JFrame("JComboBox Demo"); 12. jfrm.setlayout(new FlowLayout()); 13. jfrm.setsize(220, 240); 14. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 15. jcbb = new JComboBox(wines); 16. jlab = new JLabel(); 17. jcbb.addactionlistener(new ActionListener() { 18. public void actionperformed(actionevent le) { 19. String item = (String) jcbb.getselecteditem(); 20. jlab.settext(" Η επιλογή σας " + item); 21. } 22. }); Δημιουργία combo box το οποίο περιέχει ένα πίνακα από strings Δρ. Κεραμόπουλος Ευκλείδης 27

28 23. jcbb.setselectedindex(0); 24. jfrm.add(jcbb); 25. jfrm.add(jlab); 26. jfrm.setvisible(true); 27. } Προεπιλεγμένη τιμή είναι η πρώτη 28. public static void main(string args[]) { 29. SwingUtilities.invokeLater(new Runnable() { 30. public void run() { 31. new ComboBoxDemo(); 32. } 33. }); 34. } 35. } Δρ. Κεραμόπουλος Ευκλείδης 28

29 void seteditable(boolean ce); Όταν η παράμετρος είναι true τότε μπορούμε να γράψουμε ένα στοιχείο στο πεδίο εγγραφής της λίστας ή να επιλέξουμε κάποιο στοιχείο από τη λίστα. Το στοιχείο που θα γράψουμε δεν προστίθεται αυτόματα στη λίστα. void additem(object item); προσθέτει ένα αντικείμενο στην ουρά της λίστας void removeitem(object item); αφαιρεί ένα αντικείμενο από την ουρά της λίστας void removeitemat(int idx); αφαιρεί ένα αντικείμενο από τη θέση idx. void removeallitems(); αφαιρεί όλα τα αντικείμενα. int getitemcount(); επιστρέφει τον αριθμό των αντικειμένων της λίστας. Δρ. Κεραμόπουλος Ευκλείδης 29

30 Δημιουργία combo box με δυνατότητα εισαγωγής στοιχείου και πρόσθεσης του στη λίστα. Δρ. Κεραμόπουλος Ευκλείδης 30

31 1. package ADX_project1; 2. import javax.swing.*; 3. import java.awt.*; 4. import java.awt.event.*; 5. class DynamicComboBox { 6. JComboBox jcbb; 7. JLabel jlab; 8. JButton jbtnremove; 9. String wines[] = { "Λευκό", "Ροζέ", "Κόκκινο", "Χρυσό", "Μελωδικός", "Μαυροδάφνη"}; 10. DynamicComboBox() { 11. JFrame jfrm = new JFrame("Dynamic JComboBox"); 12. jfrm.setlayout(new FlowLayout()); 13. jfrm.setsize(220, 240); 14. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 15. jcbb = new JComboBox(wines); 16. jcbb.seteditable(true); 17. jlab = new JLabel(); Ορισμός του combo box να δέχεται εισαγωγή στοιχείου Δρ. Κεραμόπουλος Ευκλείδης 31

32 18. jcbb.addactionlistener(new ActionListener() { 19. public void actionperformed(actionevent le) { 20. String item = (String) jcbb.getselecteditem(); 21. if(item==null) return; 22. jlab.settext("η επιλογή σας " + item); 23. int i; 24. for(i=0; i < jcbb.getitemcount(); i++) 25. if(item.equals(jcbb.getitemat(i))) break; 26. if(i==jcbb.getitemcount()) jcbb.additem(item); 27. } 28. }); 29. jcbb.setselectedindex(0); 30. jbtnremove = new JButton("Αφαίρεσε τιμή"); jbtnremove.addactionlistener(new ActionListener() { 33. public void actionperformed(actionevent le) { 34. String item = (String) jcbb.getselecteditem(); 35. if(item==null) return; 36. jcbb.removeitem(item); 37. jlab.settext("αφαιρέθηκε το " + item); 38. } 39. }); Όταν πατηθεί το ENTER τότε το item περιέχει το στοιχείο που εισήχθη. Κάνει έλεγχο αν υπάρχει στη λίστα. Αν δεν υπάρχει τότε το προσθέτει. Διαγραφή στοιχείου Δρ. Κεραμόπουλος Ευκλείδης 32

33 40. jfrm.add(jcbb); 41. jfrm.add(jlab); 42. jfrm.add(jbtnremove); 43. jfrm.setvisible(true); 44. } 45. public static void main(string args[]) { 46. SwingUtilities.invokeLater(new Runnable() { 47. public void run() { 48. new DynamicComboBox(); 49. } 50. }); 51. } 52. } Δρ. Κεραμόπουλος Ευκλείδης 33

34 Μία δεύτερη παραλλαγή της λίστας είναι το spinner. Στο spinner η λίστα μπορεί να κυλήσει κατά μία θέση μπροστά ή πίσω χρησιμοποιώντας τα βελάκια του πληκτρολογίου ή πατώντας τα βέλη που βρίσκονται στο spinner. To spinner ακολουθεί τρία μοντέλα: SpinnerDateModel, όταν η λίστα περιέχει ημερομηνίες, SpinnerNumberModel, όταν η λίστα περιέχει αριθμούς, και SpinnerListModel, όταν η λίστα περιέχει οτιδήποτε άλλο. Δρ. Κεραμόπουλος Ευκλείδης 34

35 JSpinner() ΔΟΜΗΤΗΣ JSpinner(SpinnerModel spm) ΠΕΡΙΓΡΑΦΗ Δημιουργεί ένα άδειο spinner Δημιουργεί ένα spinner με βάση το μοντέλο spm Δρ. Κεραμόπουλος Ευκλείδης 35

36 void addchangelistener(changelistener cl) προσθέτει το cl ως ακροατή Object getnextvalue() επιστρέφει το επόμενο αντικείμενο στη λίστα Object getpreviousvalue() επιστρέφει το προηγούμενο αντικείμενο στη λίστα Object getvalue() επιστρέφει την τρέχουσα τιμή void removechangelistener(changelistener cl) αφαιρεί τον ακροατή cl void setvalue(object val) Θέτει στον τρέχον αντικείμενο την τιμή val Δρ. Κεραμόπουλος Ευκλείδης 36

37 Με τη μέθοδο List <?> getlist() επιστρέφει μία αναφορά στη λίστα Με τη μέθοδο void setlist(list <?> items) Ορίζει τη λίστα με βάση το items. Τρεις είναι οι δομητές που χρησιμοποιεί το SpinnerListModel SpinnerListModel() δημιουργεί ένα άδειο μοντέλο SpinnerListModel(Object[ ] items) δημιουργεί ένα μοντέλο που περιέχει τον πίνακα items SpinnerListModel(List <?> items) δημιουργεί ένα μοντέλο που περιέχει τη λίστα items Δρ. Κεραμόπουλος Ευκλείδης 37

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

39 1. package ADX_project1; 2. import javax.swing.*; 3. import javax.swing.event.*; 4. import java.awt.*; 5. class SpinnerDemo { 6. JSpinner jspin; 7. JLabel jlab; 8. String colors[] = { "Red", "Green", "Blue" }; 9. SpinnerDemo() { 10. JFrame jfrm = new JFrame("SpinnerListModel"); 11. jfrm.setlayout(new FlowLayout()); 12. jfrm.setsize(300, 100); 13. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 14. SpinnerListModel spm = new SpinnerListModel(colors); 15. jspin = new JSpinner(spm); 16. jspin.setsize(new Dimension(60, 20)); 17. jlab = new JLabel(" Η επιλογή είναι: Red "); 18. jlab.setborder(borderfactory.createlineborder(color.red, 4)); Δημιουργείται ένα spinnerlistmodel με βάση τον πίνακα colors Δημιουργείται ένα spinner με βάση το μοντέλο Δρ. Κεραμόπουλος Ευκλείδης 39

40 19. jspin.addchangelistener(new ChangeListener() { Αλλάζει το χρώμα του 20. public void statechanged(changeevent ce) { ορίου ανάλογα με την 21. String color = (String) jspin.getvalue(); επιλογή 22. jlab.settext(" Η επιλογή είναι: " + color + " "); 23. if(color.equals("red")) 24. jlab.setborder(borderfactory.createlineborder(color.red, 4)); 25. else if(color.equals("green")) 26. jlab.setborder(borderfactory.createlineborder(color.green, 4)); 27. else 28. jlab.setborder(borderfactory.createlineborder(color.blue, 4)); 29. } 30. }); 31. jfrm.add(jspin); 32. jfrm.add(jlab); 33. jfrm.setvisible(true); 34. } 35. public static void main(string args[]) { 36. SwingUtilities.invokeLater(new Runnable() { 37. public void run() { 38. new SpinnerDemo(); 39. } 40. }); 41. } 42. } Δρ. Κεραμόπουλος Ευκλείδης 40

41 Τέσσερις είναι οι δομητές που χρησιμοποιεί το SpinnerNumberModel SpinnerNumberModel() δημιουργεί ένα άδειο μοντέλο SpinnerNumberModel(int val, int min, int max, int stepsize) δημιουργεί ένα μοντέλο που ορίζει την αρχική τιμή στο val, την ελάχιστη τιμή στο min, τη μέγιστη τιμή στο max και το βήμα κύλισης στο stepsize SpinnerNumberModel(double val, double min, double max, double stepsize) δημιουργεί ένα μοντέλο που ορίζει την αρχική τιμή στο val, την ελάχιστη τιμή στο min, τη μέγιστη τιμή στο max και το βήμα κύλισης στο stepsize SpinnerNumberModel(Number val, Comparable min, Comparable max, Number stepsize)) δημιουργεί ένα μοντέλο που ορίζει την αρχική τιμή στο val, την ελάχιστη τιμή στο αντικείμενο min, τη μέγιστη τιμή στο αντικείμενο max και το βήμα κύλισης στο stepsize Δρ. Κεραμόπουλος Ευκλείδης 41

42 Comparable getmaximum() void setmaximum(comparable max) Comparable getminimum() void setminimum(comparable min) Number getstepsize() void setstepsize(number stepsize) Επιστρέφουν ή ορίζουν το ελάχιστο όριο, το μέγιστο όριο ή το βήμα της λίστας. Number getnumber() Επιστρέφει την τρέχουσα τιμή ως αριθμό. Δρ. Κεραμόπουλος Ευκλείδης 42

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

44 1. package ADX_project1; 2. import javax.swing.*; 3. import javax.swing.event.*; 4. import java.awt.*; 5. class SpinInts { 6. JSpinner jspin; 7. JLabel jlab; 8. SpinInts() { 9. JFrame jfrm = new JFrame("Spin Integers"); 10. jfrm.setlayout(new FlowLayout()); 11. jfrm.setsize(200, 120); 12. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 13. SpinnerNumberModel spm = new SpinnerNumberModel(1, 1, 10, 1); 14. jspin = new JSpinner(spm); 15. jspin.setpreferredsize(new Dimension(40, 20)); 16. jlab = new JLabel(" Το μέγεθος του ορίου είναι 1 "); 17. jlab.setborder(borderfactory.createlineborder(color.black)); Δημιουργεί ένα spinnernumber model με αρχική τιμή το 1, με αριθμούς από το 1 έως το 10 και βήμα 1. δημιουργεί ένα spinner με βάση το μοντέλο Δρ. Κεραμόπουλος Ευκλείδης 44

45 18. jspin.addchangelistener(new ChangeListener() { 19. public void statechanged(changeevent ce) { 20. Integer bsize = (Integer) jspin.getvalue(); 21. jlab.settext(" Το μέγεθος του ορίου είναι : " + bsize + " "); 22. jlab.setborder(borderfactory.createlineborder(color.black, bsize.intvalue())); 23. } 24. }); δημιουργεί το μέγεθος του ορίου με βάση την επιλεγμένη τιμή 25. jfrm.add(jspin); 26. jfrm.add(jlab); 27. jfrm.setvisible(true); 28. } 29. public static void main(string args[]) { 30. SwingUtilities.invokeLater(new Runnable() { 31. public void run() { 32. new SpinInts(); 33. } 34. }); 35. } 36. } Δρ. Κεραμόπουλος Ευκλείδης 45

46 Δύο είναι οι δομητές που χρησιμοποιεί το SpinnerDateModel SpinnerDateModel() δημιουργεί ένα μοντέλο το οποίο παίρνει ως αρχική τιμή την τρέχουσα ημερομηνία και βήμα τη μία ημέρα SpinnerDateModel(Date val, Comparable begin, Comparable end, int stepsize)) δημιουργεί ένα μοντέλο που ορίζει την αρχική τιμή στο val, την ελάχιστη τιμή στο αντικείμενο begin (τύπου date), τη μέγιστη τιμή στο αντικείμενο end (τύπου date) και το βήμα κύλισης στο stepsize το οποίο μπορεί να πάρει τιμές day, month, hour, minute Δρ. Κεραμόπουλος Ευκλείδης 46

47 Comparable getend() void setend(comparable end) Comparable getstart() void setstart(comparable start) int getcalendarfield() void setcalendarfield(int calfield) Επιστρέφουν ή ορίζουν την αρχή, το τέλος και το βήμα της λίστας (Calendar Field). Date getdate() Επιστρέφει την τρέχουσα ημερομηνία. Δρ. Κεραμόπουλος Ευκλείδης 47

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

49 1. package ADX_project1; 2. import javax.swing.*; 3. import javax.swing.event.*; 4. import java.awt.*; 5. import java.util.*; 6. class SpinDates { 7. JSpinner jspin; 8. JLabel jlab; 9. SpinDates() { 10. JFrame jfrm = new JFrame("Spin Dates"); 11. jfrm.setlayout(new FlowLayout()); 12. jfrm.setsize(300, 120); 13. jfrm.setdefaultcloseoperation(jframe.exit_on_close); 14. GregorianCalendar g = new GregorianCalendar(); 15. Date curdate = new Date(); 16. g.add(calendar.month, -1); 17. Date begin = g.gettime(); 18. g.add(calendar.month, 20); 19. Date end = g.gettime(); δημιουργεί τις παραμέτρους του μοντέλου, το μοντέλο και το spinner 20. SpinnerDateModel spm = new SpinnerDateModel(curDate, begin, end, Calendar.HOUR); 21. jspin = new JSpinner(spm); 22. jlab = new JLabel(" H επιλεγμένη ημερομηνία είναι: " + curdate); Δρ. Κεραμόπουλος Ευκλείδης 49

50 23. jspin.addchangelistener(new ChangeListener() { 24. public void statechanged(changeevent ce) { 25. Date date = (Date) jspin.getvalue(); 26. jlab.settext(" H επιλεγμένη ημερομηνία είναι: " + date + " "); 27. } 28. }); παίρνει την επιλεγμένη ώρα όπως άλλαξε στο spinner 29. jfrm.add(jspin); 30. jfrm.add(jlab); 31. jfrm.setvisible(true); 32. } 33. public static void main(string args[]) { 34. SwingUtilities.invokeLater(new Runnable() { 35. public void run() { 36. new SpinDates(); 37. } 38. }); 39. } 40. } Δρ. Κεραμόπουλος Ευκλείδης 50

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

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

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

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

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO H φόρµα µε τίτλο «ΜΑΚΗS, θα περιέχει ένα ΤabbedPane µε 2 Καρτέλες. Στο 1 ο tab θα επιλέγεις τι θα πάρεις, και στο 2 ο θα τυπώνεται ο λογαριασμός σου 1. Θα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Ανάπτυξη Διεπιφανειών Χρήστη μια σημαντική λειτουργία είναι η εισαγωγή, εμφάνιση και τροποποίηση κειμένου. Θα μελετήσουμε αναλυτικά τέσσερα συστατικά της Java Swing για την

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

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

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

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

Week 10: Graphical User Interfaces

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

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

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

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

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

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

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

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

Συλλογές, Στοίβες και Ουρές

Συλλογές, Στοίβες και Ουρές Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει

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

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

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ Κων. Κόκκινος ΠΙΝΑΚΕΣ (ARRAYS) Είναι χώροι της μνήμης για προσωρινή αποθήκευση δεδομένων του ίδιου τύπου. Οι πίνακες είναι δομές δεδομένων που τις

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

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

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

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

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

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

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

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα

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

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

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

Generics και ArrayLists

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

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

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

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

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

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

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

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

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα. http://aetos.it.teithe.gr/~demos/teaching_gr.

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα. http://aetos.it.teithe.gr/~demos/teaching_gr. Δομές Δεδομένων & Ανάλυση Αλγορίθμων 3ο Εξάμηνο Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα http://aetos.it.teithe.gr/~demos/teaching_gr.html Δημοσθένης Σταμάτης Τμήμα Μηχανικών Πληροφορικής ATEI ΘΕΣΣΑΛΟΝΙΚΗΣ

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

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

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

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

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

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

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

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

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

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

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

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

public class ArrayQueue implements Queue {

public class ArrayQueue implements Queue { public class ArrayQueue implements Queue { // ΠΡΟΣΟΧΗ 2 δείκτες τώρα: // Ο ένας (index/last),ίδιος με πριν, δείχνει την θέση του νέου στοιχείου. // Ο άλλος (front) ΠΑΝΤΑ δείχνει την θέση του 1ου στοιχείου

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγ/μό Η/Υ

Εισαγωγή στον Προγ/μό Η/Υ Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα Η μνήμη του υπολογιστή Η κύρια μνήμη (main memory - RAM) του υπολογιστή κρατάει τα δεδομένα για την εκτέλεση των προγραμμάτων.

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

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

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

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

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω:

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω: 3 ΣTOIBEΣ KAI OYPEΣ 3.1 ΣΤΟΙΒΕΣ Στοίβα (stack) είναι µία λίστα στην οποία νέα στοιχεία µπορούν να προστεθούν και να αφαιρεθούν µόνο από τη µία άκρη της (κορυφή της στοίβας). Συχνά µία στοίβα αναφέρεται

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

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

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

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

Week 7: Java Collection Classes

Week 7: Java Collection Classes Week 7: Java Collection Classes Υλοποιήσεις Εβδοµάδα 7: Κλάσεις συλλογών δεδοµένων στην Java Τύποι συλλογών δεδοµένων Τεχνικές υλοποίησης linked Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης,

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

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

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

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

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

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 /

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07 Ένα απλό παράδειγμα μιας κλάσης εφαρμογής με δύο μεθόδους (κλήση μεθόδου μέσα στην ίδια κλάση): import java.util.*; public class Example

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

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση Άσκηση 1 Εκφώνηση Αναπτύξτε ένα πρόγραμμα σε Java σύμφωνα με το οποίο το σύστημα θα προσθέτει τους αριθμούς 12.0 και 24.0 και θα δίνει στην κύρια έξοδο το αποτέλεσμα της άθροισης Να χρησιμοποιήσετε αντί

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

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

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

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

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

API: Applications Programming Interface

API: Applications Programming Interface ÒØ Ñ ÒÓ ØÖ ÔÖÓ» Ñ ÒØ Ñ ÒÓ ØÖ ÔÖÓ Ö ÑÑ Ø Ñ ½ Ö Ø Ò Ô Ö Ø ÒØ Ñ ÒÛÒ ÒÒÓ ôòøóù ÔÖ Ñ Ø Ó ÑÓÙ Ì ÔÓ ÓÑ ÒÛÒ Ì µ (i) ÒÓÐÓØ ÑôÒ (ii)ôö Ü º Ð ØÖ Ò Ò ÖÛÔÓ ØÖ ÔÐ Ò Ø Ó Ó Ù Ø Ñ Ø ººº ½ºÈÖÛØ ÓÒØ Ø ÔÓ int double char

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

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

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

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

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

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

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 8 Π ί ν α κ ε ς - A r r a y s Προσοχή!!! Να εκτελεστούν πρώτα όλες οι

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις Στατικές μέθοδοι Τι σημαίνει το keyword static στον ορισμό της main μεθόδου? Τι είναι μια στατική μέθοδος?

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο Γραµµικές Δοµές Δεδοµένων (Linear Data Structures) Πίνακες (Arrays) Διανύσµατα (Vectors) http://aetos.it.teithe.gr/~demos/teaching_gr.html Δηµοσθένης Σταµάτης

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 Συνέχεια Αναδρομής (recursion): Ο αλγόριθμος του Ευκλείδη για τον Μέγιστο Κοινό Διαιρέτη (ΜΚΔ) με αναδρομή: p, αν q=0 (βασική περίπτωση)

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

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

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

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

Πολλές φορές έχουμε πολλές μεταβλητές του ίδιου τύπου που συσχετίζονται και θέλουμε να τις βάλουμε μαζί.

Πολλές φορές έχουμε πολλές μεταβλητές του ίδιου τύπου που συσχετίζονται και θέλουμε να τις βάλουμε μαζί. ΠΙΝΑΚΕΣ Πίνακες Πολλές φορές έχουμε πολλές μεταβλητές του ίδιου τύπου που συσχετίζονται και θέλουμε να τις βάλουμε μαζί. Τα ονόματα των φοιτητών σε μία τάξη Οι βαθμοί ενός φοιτητή για όλα τα εργαστήρια.

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)

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

Στοιχειώδεις Δομές Δεδομένων

Στοιχειώδεις Δομές Δεδομένων Στοιχειώδεις Δομές Δεδομένων Τύποι δεδομένων στη Java Ακέραιοι (int, long) Αριθμοί κινητής υποδιαστολής (float, double) Χαρακτήρες (char) Δυαδικοί (boolean) Από τους παραπάνω μπορούμε να φτιάξουμε σύνθετους

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

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

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

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

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

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

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning Αποθήκευση αντικειμένων Οι θέσεις μνήμης των αντικειμένων κρατάνε μια διεύθυνση στο

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον

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

Εγχειρίδιο του επεξεργαστή ρυθμίσεων

Εγχειρίδιο του επεξεργαστή ρυθμίσεων i Εγχειρίδιο του επεξεργαστή ii Copyright 2004 Sun Microsystems Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1

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

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

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

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

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

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

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

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

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

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής

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

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

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

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

Γενικοί Τύποι. 13 Ιανουαρίου 2011 Αντικειμενοστρεφής Προγραμματισμός στη Java 32

Γενικοί Τύποι. 13 Ιανουαρίου 2011 Αντικειμενοστρεφής Προγραμματισμός στη Java 32 Ένας γενικός τύπος ορίζεται χρησιμοποιώντας μία ή περισσότερες μεταβλητές τύπων και έχει μία ή περισσότερες ρ ςμεθόδους που χρησιμοποιούν μεταβλητές τύπων ως σύμβολο που αντικαθιστάται από όνομα τύπου,

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

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

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

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

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

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

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

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

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

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

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

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

4 Συλλογές Αντικειμένων

4 Συλλογές Αντικειμένων 4 Συλλογές Αντικειμένων Πώς χειριζόμαστε αντικείμενα σε ομάδες με επανάληψη Η Απαίτηση Συλλογών Αντικειμένων Πολλές εφαρμογές χρειάζονται πλήθος αντικειμένων: Κατάλογος βιβλίων Φοιτητολόγιο Πελατολόγιο

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