====== Περιεχόμενα ====== ===== Εισαγωγή στην γλώσσα προγραμματισμού Java ===== * [[java:jre | Το περιβάλλον μεταγλώτισσης και εκτέλεσης Java (JRE/JDK) ]] * [[java:install | Εγκατάσταση του περιβάλλοντος ανάπτυξης JDK/NetBeans ]] * [[netbeans:new_project | Δημιουργία νέου Project στο NetBeans ]] * [[java:introduction | Εισαγωγή στην γλώσσα προγραμματισμού Java ]] * [[java:comments | Σχόλια]] * [[java:variables | Μεταβλητές ]] * [[java:literals| Κυριολεκτικά]] * [[java:operators | Τελεστές ]] * [[java:control_flow | Ροή Προγράμματος ]] * [[java:control_flow_statements | Εντολές ελέγχου ροής προγράμματος]] * [[java:loop_statements| Εντολές επανάληψης ]] * [[java:break_loop_statements| Εντολές τερματισμού και ελέγχου της επανάληψης ]] * [[java:main_method | Η στατική μέθοδος main]] * [[oop:introduction | Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό ]] * [[java:class | Η κλάση ]] * [[java:class_fields | Τα πεδία της κλάσης ]] * [[java:class_methods | Μέθοδοι της κλάσης ]] * [[java:class_constructors | Κατασκευαστές της κλάσης ]] * [[java:objects | Δημιουργία Αντικειμένων ]] * [[java:arrays | Πίνακες ]] * [[java:this_operator | Ο τελεστής this ]] * [[java:static_keyword | Στατικές μεταβλητές και μέθοδοι της κλάσης ]] * [[java:member_initialization | Αρχικοποίηση των μελών της κλάσης ]] * [[java:String | Αλφαριθμητικά - Strings ]] * [[java:toString | Η μέθοδος toString ]] * [[java:enum | Απαριθμήσεις - Enumerations ]] * [[java:wrapper_classes|Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ]] * [[java:autoboxing | Auto-boxing και Auto-unboxing ]] * [[java:packages:intro | Πακέτα στη γλώσσα προγραμματισμού Java ]] * [[java:packages:naming | Ονοματοδοσία πακέτων ]] * [[java:packages:using | Χρήση κλάσεων από άλλες κλάσεις ]] * [[java:jar_files | Αρχεία Java Archive (JAR) ]] (προαιρετική ενότητα) * [[java:classpath | Η μεταβλητή περιβάλλοντος CLASSPATH ]] (προαιρετική ενότητα) * [[java:ant|Αυτόματη μεταγλώττιση με χρήση Apache Ant]] (προαιρετική ενότητα) * [[java:access_modifiers | Περιοριστές πρόσβασης ]] * [[java:inheritance | Κληρονομικότητα ]] * [[java:type_casting|Ρητές (explicit) και άρρητες (implicit) μετατροπές τύπων]] * [[java:inheritance_subclassing_vs_encapsulating | Κριτήριo χρήσης της κληρονομικότητας ως εργαλείο ανάπτυξης λογισμικού ]] * [[java:final|Final Κλάσεις και Μέθοδοι]] * [[java:multiple_inheritance | Κληρονομικότητα πολλαπλών γονικών κλάσεων ]] * [[java:super_operator | Ο τελεστής super ]] * [[java:object_class | Η κλάση Object]] * [[java:polymorphism | Στατικός και Δυναμικός Πολυμορφισμός ]] * [[java:abstract_classes | Abstract Κλάσεις ]] * [[java:interface | Διεπαφή (Interface) ]] * [[java:interface_definition | Δήλωση του interface ]] * [[java:interface_implementation | Υλοποίηση του interface ]] * [[java:interface_as_data_type | Το interface ως τύπος δεδομένων ]] /* * [[java:interface_modification | Μεταβολή υφιστάμενου interface ]] */ * [[java:abstract_classes_vs_interfaces | Σύγκριση Abstract Κλάσεων και Interfaces ]] * [[java:comparable| Συγκρίνοντας αντικείμενα μεταξύ τους]] * [[java:instanceof| Ο τελεστής instanceof]] * [[java:exceptions_intro | Eξαιρέσεις ]] * [[java:exceptions_try_catch_block | Διαχείριση Εξαιρέσεων]] * [[java:exceptions_thrown_by_methods | Χειρισμός της εξαίρεσης σε υψηλότερο επίπεδο]] * [[java:exceptions_throwing | Δημιουργία νέων τύπων εξαιρέσεων και πυροδότηση εξαιρέσεων]] * [[java:exceptions_try_with_resources | Δημιουργία αντικειμένων και εξαιρέσεις]] * [[java:exception_categories | Κατηγορίες εξαιρέσεων ]] * Ροές, αρχεία και δικτυακή επικοινωνία * [[java:class_file| Η κλάση File]] * [[java:class_path | To interface java.nio.file.Path]] (προαιρετική ενότητα) * [[java:file_io_intro | Ροές δεδομένων ]] * [[java:byte_streams | Ροές δυαδικών δεδομένων ]] * [[java:byte_streams_to_data | Μετασχηματισμός των ροών δυαδικών δεδομένων σε τύπους δεδομένων]] * [[java:character_streams | Ροές χαρακτήρων]] * [[java:util_scanner_class| Η κλάση Scanner]] * [[java:formatting | Εγγραφή σε αρχεία κείμενου και μορφοποίηση εξόδου]] * [[java:object_serialization | Object Serialization/Deserialization]] * [[java:sockets|Εγγραφή και ανάγνωση από Sockets]] * [[java:urls#writting to urls|Δουλεύοντας με URLs]] * [[java:generics | Παραμετρικοί τύποι δεδομένων (Generics) ]] * [[java:generic_interfaces | Interfaces ως παραμετρικοί τύποι δεδομένων]] * [[java:generics_multiple_params | Παραμετρικοί τύποι δεδομένων με πολλές παραμέτρους]] * [[java:generics_raw | Απλοί παραμετρικοί τύποι δεδομένων (Raw Generic Types)]] * [[java:generic_methods | Παραμετρικές μέθοδοι (Generic Methods) ]] * [[java:generics_inheritance | Κληρονομικότητα Παραμετρικών Τύπων ]] * [[java:generic_bounded_types | Φραγμένοι παραμετρικοί τύπων δεδομένων ]] * [[java:generic_bounded_types_inheritance | Σχέσεις κληρονομικότητας φραγμένων παραμετρικών τύπων δεδομένων ]] * [[java:collections_intro | Collections ]] * [[java:jfc_interfaces|Interfaces]] * [[java:jfc_intf_sort | Ανίχνευση ισότητας και σύγκριση αντικειμένων]] * [[java:jfc_intf_collection | java.util.Collection]] * [[java:jfc_intf_set | java.util.Set & java.util.SortedSet]] * [[java:jfc_intf_list | java.util.List]] * [[java:jfc_intf_map | java.util.Map & java.util.SortedMap]] * [[java:jfc_algorithms | Αλγόριθμοι]] * [[java:nested_classes | Εμφωλευμένες κλάσεις ]] * [[java:inner_classes | Μη στατικές εμφωλευμένες κλάσεις ]] * [[java:inner_class_objects | Δημιουργία αντικειμένων της εσωτερικής κλάσης]] * [[java:inner_class_access | Προσβασιμότητα πεδίων και μεθόδων μεταξύ εσωτερικής και εξωτερικής κλάσης]] * [[java:inner_class_inheritance | Κληρονομικότητα εσωτερικών κλάσεων ]] (προαιρετική ενότητα) * [[java:local_inner_classes | Τοπικές εμφωλευμένες κλάσεις ]] /*(προαιρετική ενότητα) */ * [[java:anon_inner_classes | Ανώνυμες εμφωλευμένες κλάσεις ]] * [[java:static_nested_classes | Στατικές εμφωλευμένες κλάσεις ]] (προαιρετική ενότητα) * [[java:concurrency_intro | Ταυτόχρονος Προγραμματισμός (Νήματα) ]] * [[java:synchronization | Προβλήματα συγχρονισμού κατά την χρήση διαμοιραζόμενων πόρων ]] * [[java:thread_memory_model | Το μοντέλο μνήμης της Java ]] * [[java:synchronized_methods_blocks | Συγχρονισμένες μέθοδοι και συγχρονισμένα blocks ]] * [[java:thread_signalling | Συγχρονισμός Νημάτων ]] * [[java:deadlock | Αδιέξοδο στην χρήση των πόρων και πως να το αποφύγετε ]] * [[java:starvation_fairness | Παρατεταμένη στέρηση πόρων σε νήματα και ισότιμη χρήση των πόρων ]] * [[java:nested_lockeout | Αδιέξοδο λόγο χρήσης εμφωλευμένων συγχρονισμένων μεθόδων ή μπλοκ ]] * [[java:reentrant_locks | Reentrant Locks ]] * [[java:read_write_locks | Read-Write Reentrant Locks ]] * [[java:semaphores | Σηματοφορείς ]] * [[java:java_util_concurrent | Έτοιμα εργαλεία συγχρονισμού στο πακέτο java.util.concurrent και java.util.concurrent.locks]] * [[java:java_util_concurrent_examples | Παραδείγματα Χρήσης Εργαλείων Συγχρονισμού ]] * [[java:regular_expr|Regular Expressions]] ==== Swing ==== * [[swing:intro|Δημιουργία γραφικού περιβάλλοντος με Swing]] * [[swing:first_program|To πρώτο μου πρόγραμμα]] * [[swing:events| Events & Event Listeners]] * [[swing:jframe| Η κλάση JFrame]] * [[swing:color|Χρωματισμοί - Η κλάση Color]] * [[swing:icons|Εικόνες - Η κλάση ImageIcon ]] * [[swing:labels|Labels - Η κλάση JLabel]] * [[swing:buttons| Buttons, Check Boxes & Radio Buttons]] * [[swing:jbutton|Buttons]] * [[swing:jcheckbox|CheckBoxes]] * [[swing:jradiobutton|RadioButtons]] * [[swing:text_fields|Text Fields & Text Areas]] * [[swing:jscrollpane|Scroll Panes]] * [[swing:lists | Lists ]] * [[swing:combo_box| Combo Boxes]] * [[swing:panels|Panels]] * [[swing:layout|Containers & Layout Managers]] * [[swing:swing_awt_hierarchy| Swing & AWT Class Hierarchy]] * [[swing:menus|Menus & Menu Items]] * [[swing:menus_checkboxes_radio| CheckBox Menu Items & RadioButton Menu Items]] * [[swing:popup_menus|Pop-up Menus]] * [[swing:borders| Borders]] * [[swing:tree|Trees]] * [[swing:swing_calculator|Παράδειγμα Swing - Εφαρμογή Calculator]] /* [[java:generic_interface_example| Παράδειγμα χρήσης διεπαφής σε συνδυασμό με Abstract κλάση]] */