Benutzer-Werkzeuge

Webseiten-Werkzeuge


convert:frombluej:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
convert:frombluej:start [2023/01/28 21:47] – [Hauptprogramm anstatt manuellem Instanzieren von Objekten] Martin Pabstconvert:frombluej:start [2023/01/29 13:13] (aktuell) Martin Pabst
Zeile 1: Zeile 1:
-====== Konvertieren eines BlueJ-Projekts ====== +====== Übertragen von Java-Programmen in die Online-IDE ====== 
-<WRAP center round info 100%> +<WRAP center round info 70%> 
-Es gibt kein "Rezept", mit dem man jedes BlueJ-Projekt auf dieselbe Art und Weise in ein Online-IDE-Programm verwandeln kannaber meist ist es dennoch recht einfach möglich. Im Folgenden zeige ich, wie man grundsätzlich vorgeht und wie sich auftretende Probleme lösen lassen.+Die Online-IDE deckt einen großen Teil des Java-Sprachumfangs ab ([[unterschiede_zu_java:start|Details siehe hier]])zudem sind [[https://www.online-ide.de/api_documentation.html|in ihrer Laufzeitbibliothek]] viele Klassen der Java Standard Library nachgebildet. Dadurch ist es möglich, die meisten Java-Programme, die im Informatikunterricht geschrieben wurden, auf einfache Weise in die Online-IDE zu übertragen\\ \\ 
 +Im Folgenden zeige ich, wie man dabei grundsätzlich vorgeht und wie sich auftretende Probleme lösen lassen.
   * Grundsätzliches Vorgehen   * Grundsätzliches Vorgehen
   * ''import''-Statements   * ''import''-Statements
Zeile 15: Zeile 16:
     * Netzwerkprogrammierung     * Netzwerkprogrammierung
     * Zugriff auf Datenbanken     * Zugriff auf Datenbanken
 +
 +**Nützliche Links:** \\
 +  * [[https://www.online-ide.de/api_documentation.html|JavaDoc-ähnline Übersicht über alle Klassen von LearnJ]]
 +  * [[api:documentation:start|Dokumentation der Klassenbibliothek mit Erklärungen und vielen Beispielprogrammen]]
 +  * [[api:documentation:grafik:start|Dokumentation der Grafikklassen mit Erklärungen und vielen Beispielprogrammen]]
 +  * [[api:documentation:spiele:start|Dokumentation der Möglichkeiten zur Spieleprogrammierung mit vielen Beispielprogrammen]]
 +
 </WRAP> </WRAP>
  
Zeile 36: Zeile 44:
  
 ===== Hauptprogramm anstatt manuellem Instanzieren von Objekten ===== ===== Hauptprogramm anstatt manuellem Instanzieren von Objekten =====
-In BlueJ startet man ein Programm üblicherweise, indem man per Maus ein Objekt einer Klasse instanziert und dann eine Methode davon aufruft:+In BlueJ startet man ein Programm üblicherweise, indem man per Maus ein Objekt einer Klasse instanziert und dann eine Methode davon aufruft: \\ 
 {{:convert:frombluej:pasted:20230128-204628.png?300 }} {{:convert:frombluej:pasted:20230128-204628.png?300 }}
 {{ :convert:frombluej:pasted:20230128-204709.png?300}} {{ :convert:frombluej:pasted:20230128-204709.png?300}}
Zeile 54: Zeile 62:
 Hat ein Workspace also nur ein einziges Hauptprogramm, so wird immer genau dieses gestartet. Hat ein Workspace also nur ein einziges Hauptprogramm, so wird immer genau dieses gestartet.
 </WRAP> </WRAP>
 +
 +===== 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 ''throws''-Deklarationen sowie die ''try''...''catch''-Rahmen entfernt werden. Der Vorteil dabei ist, dass sich auch die Schüler/innen nicht um Exceptions kümmern müssen, wenn sie mit der Online-IDE programmieren
 +</WRAP>
 +
 +===== 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, die Nebenläufigkeit nutzen (d.h. mehrere Threads instanzieren und starten) können derzeit leider noch nicht in der Online-IDE ausgeführt werden. Ich arbeite gerade an einem neuen Compiler, der u.a. auch Threads ermöglicht, er wird aber vorraussichtlich nicht vor 2024 fertig.
 +</WRAP>
 +
 +
  
 ===== Verwendung der Graphics and Games-Bibliothek des Cornelsen-Verlages ===== ===== Verwendung der Graphics and Games-Bibliothek des Cornelsen-Verlages =====
Zeile 67: Zeile 87:
   * Ereignisbehandlung   * 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: 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:
-{{ :convert:frombluej:pasted:20230128-212503.png?300}}+{{ :convert:frombluej:pasted:20230128-212503.png?200}}
   * Rechtsklick auf den Workspace -> Einstellungen   * Rechtsklick auf den Workspace -> Einstellungen
   * Häkchen bei der Graphics and Games-Bibliothek setzen   * Häkchen bei der Graphics and Games-Bibliothek setzen
Zeile 128: Zeile 148:
  
 </HTML>  </HTML> 
 +
 +
 +===== 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/innen besonders einfach machen:
 +
 +  * [[api:documentation:ein_ausgabe:start|Texteingabe und Textausgabe]]
 +  * [[api:documentation:grafik:start|Klassen zur Grafikausgabe]]
 +  * [[api:documentation:spiele:start|Spieleprogrammierung mit der Online-IDE]]
 +  * [[api:documentation:robot:start|Die Klasse Robot (ähnlich zu Robot Karol)]]
 +  * [[api:documentation:netzwerk:start|Netzwerkprogrammierung/Netzwerkspiele]]
 +  * [[api:documentation:database:start|Datenbankverbindung zur SQL-IDE hin]]
 +  * [[api:documentation:spiele:sound|Soundausgabe]]
 +  * [[api:documentation:start|Dokumentation der gesamten Klassenbibliothek]]
 +
 +
convert/frombluej/start.1674938858.txt.gz · Zuletzt geändert: 2023/01/28 21:47 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki