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

Μέγεθος: 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 επόμενη ενότητα

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

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

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

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

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

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

Εργαστήριο 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 όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Μία πρώτη μικρή γεύση των δυνατοτήτων της Swing. Παράδειγμα Δυνατοτήτων Swing Δρ. Κεραμόπουλος Ευκλείδης 2 To JAVA SWING είναι ένα API της JAVA το οποίο χρησιμοποιείται για την κατασκευή

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

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

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

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

Week 10: Graphical User Interfaces

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

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

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

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

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

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

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

H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος

H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος H κλάση ArrayList Γιώργος Θάνος Γραφείο Γ ος όροφος Γκλαβάνη 37 Εισαγωγικά Η κλάση ArrayList δίνει την δυνατότητα να αποθηκεύσουμε δεδομένα οποιουδήποτε τύπου σε μία δομή δεδομένων η οποία επιτρέπει τα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( ) Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική

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

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

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

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

Week 12: GUIs with Swing

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου 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 υποστηρίζει

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

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

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

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

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Συνέχεια για το for: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Nested for-loops (for μέσα σε for): π.χ. int k; for (int i=0; i

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

Generics και ArrayLists

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

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

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

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

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

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 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 ΘΕΣΣΑΛΟΝΙΚΗΣ

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

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

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

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

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

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

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 0: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mεταβλητές (variables) και Σταθερές (constants)

Mεταβλητές (variables) και Σταθερές (constants) Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

public class ArrayStack implements Stack {

public class ArrayStack implements Stack { public class ArrayStack implements Stack { private static final int DEF_STACK_SIZE=2; //Array of objects private Object[] S; private int index ; // index, top, last, position // Returns the last item of

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων class Person { private String name; public Person(String name){ this.name = name; public String getname(){ return name; class Car { private

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

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

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

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

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

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

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

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

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

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

public class ArrayQueue implements Queue {

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

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

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

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

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Δημιουργία πινάκων Δρ. Εύη Φαλιάγκα 1. Login Χρησιμοποιώντας έναν web explorer, μπαίνετε στο http://10.0.0.6:8080/apex και συμπληρώνετε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΡΓΑΣΙΑ 4 - Αντικειμενοστραφής Υλοποίηση του Συστήματος Κατανομής Θέσεων σε Προγράμματα Σπουδών

ΕΡΓΑΣΙΑ 4 - Αντικειμενοστραφής Υλοποίηση του Συστήματος Κατανομής Θέσεων σε Προγράμματα Σπουδών ΕΡΓΑΣΙΑ 4 - Αντικειμενοστραφής Υλοποίηση του Συστήματος Κατανομής Θέσεων σε Προγράμματα Σπουδών Ημερομηνία Ανάθεσης: 16/11/2017 Ημερομηνία Παράδοσης: 30/11/2017 (14 ημέρες) Τελευταία Ώρα Παράδοσης: 9:00

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΔΟΜΕΣ Πίνακες Πολλές φορές έχουμε πολλές μεταβλητές του ίδιου τύπου που συσχετίζονται

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

Week 7: Java Collection Classes

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

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

ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ

ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ (Object Oriented Programming) ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ ΠΙΝΑΚΕΣ ΑΝΤΙΚΕΙΜΕΝΩΝ ( ή εκεί που φτάσαμε το 1 ο εξάμηνο ) PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Κ Λ Α Σ Ε Ι Σ - Ανακεφαλαίωση

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

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

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

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

Από τη UML στον Κώδικα. Μέρος Α

Από τη UML στον Κώδικα. Μέρος Α Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον

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

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

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

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

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

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

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

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

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

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