convert:frombluej:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | convert:frombluej:start [2024/08/31 12:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Übertragen von Java-Programmen in die Online-IDE ====== | ||
+ | <WRAP center round info 70%> | ||
+ | Die Online-IDE deckt einen großen Teil des Java-Sprachumfangs ab ([[unterschiede_zu_java: | ||
+ | Im Folgenden zeige ich, wie man dabei grundsätzlich vorgeht und wie sich auftretende Probleme lösen lassen. | ||
+ | * Grundsätzliches Vorgehen | ||
+ | * '' | ||
+ | * **Hauptprogramm** anstatt manuellem Instanzieren von Objekten | ||
+ | * Verwendung der **Graphics and Games-Bibliothek** des Cornelsen-Verlages | ||
+ | * Verwendung der **Processing**-Bibliothek | ||
+ | * Besondere Klassen der Online-IDE | ||
+ | * Benutzereingaben per Tastatur | ||
+ | * Farbige Ausgabe mit '' | ||
+ | * Farben | ||
+ | * Klassen zur Grafikausgabe und Spieleprogrammierung mit der Online-IDE | ||
+ | * Soundausgabe | ||
+ | * Netzwerkprogrammierung | ||
+ | * Zugriff auf Datenbanken | ||
+ | |||
+ | **Nützliche Links:** \\ | ||
+ | * [[https:// | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Grundsätzliches Vorgehen ===== | ||
+ | {{ : | ||
+ | Im Beispiel rechts sehen Sie ein BlueJ-Projekt mit vier Klassen und einem Interface. | ||
+ | * 1. Wir legen einen neuen Workspace in der Online-IDE an, | ||
+ | * 2. erstellen für jede der Klassen eine Datei im Workspace und | ||
+ | * 3. kopieren die Quelltexte per Copy-Paste in die Online-IDE \\ //(Tipp: Strg + a markiert den ganzen Text in einer Programmdatei)// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Keine packages und keine import-statements in der Online-IDE ===== | ||
+ | Um den Schülerinnen und Schülern das Erlernen von Java einfacher zu machen, verzichtet die Online-IDE auf auf das Konzept von packages, entsprechend sind auch keine import-Anweisungen nötig. Alle Klassen eines Workspaces befinden sich - zusammen mit den Systemklassen der Online-IDE - in einem einzigen großen Namensraum. Entsprechend dürfen eigene Klassen leider nicht die Bezeichner von Systemklassen tragen. In solchen Fällen meldet die Online-IDE folgenden Fehler: | ||
+ | {{ : | ||
+ | Hier hilft nur, der Klasse einen anderen Bezeichner zu geben: | ||
+ | {{ : | ||
+ | Auch java-Systemklassen können einfach ohne import-Statements verwendet werden: | ||
+ | {{ : | ||
+ | **Lösung: | ||
+ | |||
+ | ===== Hauptprogramm anstatt manuellem Instanzieren von Objekten ===== | ||
+ | In BlueJ startet man ein Programm üblicherweise, | ||
+ | {{: | ||
+ | {{ : | ||
+ | < | ||
+ | <div style=" | ||
+ | </ | ||
+ | Das ist anfangs didaktisch ganz sinnvoll, mit der Zeit aber recht anstrengend und hemmt den Entwicklungsprozess. In der Online-IDE gibt es daher die Möglichkeit, | ||
+ | {{ : | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | Für das Hauptprogramm gelten folgende Regeln: | ||
+ | * Grundsätzlich gelten alle Anweisungen, | ||
+ | * Beim Klick auf den Startbutton wird das Hauptprogramm aus einer der Dateien des Workspaces gestartet. Die Datei wird wie folgt ermittelt: | ||
+ | - Hat die gerade geöffnete Datei ein Hauptprogramm, | ||
+ | - Hat sie keines, so wird das zuletzt gestartete Hauptprogramm wieder gestartet. | ||
+ | - Gibt es auch kein zuletzt gestartetes Hauptprogramm, | ||
+ | Hat ein Workspace also nur ein einziges Hauptprogramm, | ||
+ | </ | ||
+ | |||
+ | ===== Kein Exception Handling in der Online-IDE ===== | ||
+ | <WRAP center round info 100%> | ||
+ | Der Sprachumfang der Online-IDE umfasst kein Exception Handling. Daher müssen bei der Übertragung von Java-Programmen in die Online-IDE alle '' | ||
+ | </ | ||
+ | |||
+ | ===== Keine Nebenläufigkeit in der Online-IDE ===== | ||
+ | <WRAP center round info 100%> | ||
+ | Die Online-IDE kann Programme leider nicht nebenläufig ausführen, d.h. es gibt keine Threads. Java-Programme, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Verwendung der Graphics and Games-Bibliothek des Cornelsen-Verlages ===== | ||
+ | {{ : | ||
+ | Alle Klassen der Graphics and Games-Bibliothek, | ||
+ | * Zeichenfenster | ||
+ | * Rechteck | ||
+ | * Dreieck | ||
+ | * Kreis | ||
+ | * Turtle (Online-IDE: | ||
+ | * Figur | ||
+ | * Text (Online-IDE: | ||
+ | * Ereignisbehandlung | ||
+ | sind in der Online-IDE bereits Bestandteil der Systembibliothek und müssen nicht von BlueJ her herüberkopiert werden. Dafür muss die Graphics and Games-Bibliothek je Workspace aber einmalig aktiviert werden: | ||
+ | {{ : | ||
+ | * Rechtsklick auf den Workspace -> Einstellungen | ||
+ | * Häkchen bei der Graphics and Games-Bibliothek setzen | ||
+ | * Mit Klick auf OK bestätigen. | ||
+ | {{ : | ||
+ | ==== Anpassen von Klassenbezeichnern ==== | ||
+ | Da die Online-IDE nur einen Namensraum für Klassenbezeichner hat und die Bezeichner '' | ||
+ | ==== Nützliche Links zur Graphics and Games Bibliothek: ==== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[api: | ||
+ | |||
+ | ===== Verwendung des Processing-Frameworks ===== | ||
+ | In der Online-IDE ist fast das komplette Processing-Framework enthalten (Klasse '' | ||
+ | Processing-Programmen in der Programmiersprache Java bestehen üblicherweise aus der Definition einer Kindklasse von '' | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new AnimationDemo().main(); | ||
+ | |||
+ | class AnimationDemo extends PApplet { | ||
+ | |||
+ | float t = 0; | ||
+ | |||
+ | | ||
+ | createCanvas(1000, | ||
+ | fill(150, 150, 150, 120); | ||
+ | strokeWeight(20); | ||
+ | } | ||
+ | |||
+ | | ||
+ | background(20); | ||
+ | | ||
+ | t += 0.04; | ||
+ | float r = 300; | ||
+ | |||
+ | for(int i = 0; i < 10; i++) { | ||
+ | | ||
+ | float t1 = t + i * 0.4; | ||
+ | |||
+ | | ||
+ | float mx = 500 + r * cos(t1); | ||
+ | float my = 600 + r * sin(t1); | ||
+ | | ||
+ | |||
+ | t1 += 3.1; | ||
+ | | ||
+ | mx = 500 + r * cos(-t1); | ||
+ | my = 400 + r * sin(-t1); | ||
+ | |||
+ | | ||
+ | |||
+ | } | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Besondere Klassen in der Online-IDE ===== | ||
+ | Da Java vor allem serverseitig verwendet wird, sind die Textein und -ausgabe sowie die Grafikprogrammierung in der Java Standard Library nicht besonders gut unterstützt. Daher hat die Online-IDE dafür eigene Klassen, die es Schüler/ | ||
+ | |||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | * [[api: | ||
+ | |||
convert/frombluej/start.txt · Zuletzt geändert: 2024/08/31 12:03 von 127.0.0.1