javaonline:changelog
Online-IDE: Changelog
Ich komme mit dem Führen der Liste unten leider nicht immer hinterher. Die aktuellen Änderungen finden Sie tagesaktuell in den Commit-Historys der beiden Projekte:
2023
- September 2023
- Anfang September 2023 wurden die Server von Online-IDE und SQL-IDE auf den neuen Servercode umgestellt. Nach kleineren anfänglichen Schwierigkeiten laufen sie jetzt deutlich stabiler und performanter als vor der Umstellung. Der Code ist jetzt viel besser lesbar, klarer strukturiert und - dank deutlich weniger Abhängigkeiten zu externen Bibliotheken - zukunftssicherer als vorher.
- August 2023
- Weitere Arbeiten am Prüfungsmodus
- Umfangreiche Arbeiten am Servercode.
- Juli 2023
- Die SQL-IDE versteht jetzt auch
enum
-Datentypen.
- Juni 2023
- Umfangreiche Arbeiten am Server: Umstellung von Kotlin auf Java und von Exposed auf ein eigenes ORM vorbereitet (Umstieg erfolgt in den Sommerferien)
- Mai 2023
- Neue Methoden Group.getIndexOf(Shape s), Sprite.getImageIndex(), Collections.shuffle(Collection c)
- Added Sprite import by pressing button (insted drag'n drop) for compatibility with tablets
- Beim Duplizieren eines Workspace wird jetzt auch das zugehörige Klassendiagramm mit dupliziert.
- Hauptmenü Ansicht→Enable/disable word wrap hinzugefügt.
- include fonts.css in includeIDE.js
- make login page responsive
- Arbeiten am Modus zur Durchführung von schriftlichen Prüfungen mit der Online-IDE begonnen
- Umfangreiche Bugfixes, v.a. in der SQL-IDE
- SQL-IDE:
Join
…on
ist jetzt möglich.
- April 2023
- Http-Requests von der Online-IDE aus sind jetzt möglich
- Files-API zum lesenden und schreibenden Zugriff auf Dateien im Workspace; txt, json und xml-Datendateien können jetzt im Workspace angelegt werden.
- added section „new“ in login page
- set default speed to „max“
- bugfix: getText yielded wrong value
- bugfix: cyclic class hierarchy froze compiler
- März 2023
- Die SQL-IDE beherrscht jetzt
create view…
unddrop view
. Die Struktur der Views wird rechts im Datenbankexplorer mit angezeigt. - Die Lernumgebung Java Hamster ist jetzt in die Online-IDE integriert!
- Bugfix: constructors which call other constructors must not include automatic call to parameterless super constructor
- added method
Shape.isVisible()
- Bugfixes von Fehlern, die durch den Umstieg auf das Build-System vite entstanden sind, vollständig abgeschlossen
- Make multiple comma seperated attriute declarations possible
- bugfix:
int a[], b
lead to type of b == int[] - bugfix: GNGDreieck.positionSetzen didn't work properly
- bugfix: better error handling if non-abstract method-declaration ends with semincolon
- bugfix: String.charAt(i) didn't enforce i >= 0 && i < length
- bugfix: studentlist and class list shown twice under certain circumstances
- bugfix in projectexplorer: show „Keine Datei vorhanden“ if and only if this really is the case.
- better looking center-alignment of class identifiers in class diagram
- Implement mouse handler and collidesWith-method for Text objects
- add
Text.getText()
andGText.getText()
- fix issue #68
- add parameterless constructors for all child classes of FilledShape
- added
union
-Operator in SQL-IDE - Die SQL-IDE beherrscht jetzt views (
create view…
,drop view
, Anzeige der Struktur von views im Database-Explorer rechts)
- Februar 2023
- BugFix: implcit type conversion from char to int didnt work with plus-operator
- Long-Konstanten (z.B.
123L
) und Datentypshort
hinzugefügt - Methode
SystemTools.getStepCount
hinzugefügt - Bugfix: Files shouldn't be startable if they depend on other files that have errors
- SQL-IDE: Funktion
concat
hinzugefügt - Umfangreiche Arbeiten am build-system der Online-IDE und der SQL-IDE: Beide arbeiten jetzt mit vite
- BugFix:
GNGTurtle
ist jetzt Unterklasse vonObject
und damit als generischer Parameter vonArrayList
verwendbar. - BugFix: nested generic Types weren't parsed properly
- Umfangreiche Arbeiten an der GNG-Grafikbibliothek: Das Verhalten der Objekte beim Verschieben, Drehen, … entspricht jetzt noch besser dem Original.
- create school database for Online-IDE
- Mehrere Bugfixes betreffend den Datentyp
char
(Operatoren, Casting von/nachint
, …) - Die Lernumgebung Java Kara ist jetzt in die Online-IDE integriert!
- BugFix: import spritesheets dynamically in order to have version-number in dist-filename
- SQL-IDE Bugfix: client hung if current workspace was folder
- Januar 2023
- Portierung auf die neue Typescript-Version
- Bugfix: Processing now works with and without createCanvas-statement inside setup function
- Added method String.valueOf
- SQL-IDE bugfix: Compiler shouldn't accept varchar without length parameter
- SQL-IDE: Added shutdown server menu entry for admin
2022
- Dezember 2022
- Suppress contextmenu when clicking on trash bin
- Umfangreiche Arbeiten und bugfixes am Object tree in der debug-Ansicht.
- SQL-IDE bugfixes: bugfixes: Right click in Explorer; pagination color
- November 2022
- bugfix: division assignment didn't respect integer division
- Processing: set default canvas resolution to 800×600
- implement final classes and make final fields assignable inside constructor
- overriding final or private methods is now forbidden; variant
int a[]
is now recognized (before: only variantint[] a
) - SQL-IDE: on startup expand all folders containing current workspace; better looking folderlines
- SQL-IDE: add max and min functions for date, time, datetime and timestamp-values
- SQL-IDE: Multiple instances of embedded sql-ide are now better separated if they have distinct ids
- SQL-IDE bugfix: embedded version didn't show runtime errors inside dokuwiki
- SQL-IDE: when distributing workspace: distribute it with database and ddl-statements
- SQL-IDE: Added „Change password“ user menu-entry
- Oktober 2022
- Der Compiler meldet jetzt einen Fehler wenn zwei Klassen denselben Bezeichner besitzen.
- SQL-IDE: show errors tab if runtime errors occur
- SQL-IDE: escape identifiers when importing database
- SQL-IDE: on import replace binary and varbinary types by varchar
- SQL-IDE: embedded version: put sliders under database reset menu
- SQL-IDE: new syntax: insert into <table><columns> select …
- September 2022
- Auch in der Embedded-IDE können jetzt eigene Grafiken als Sprites eingebunden werden.
Rectangle.moveTo
undText.moveTo
verschieben jetzt so, dass sich der Diagonalenschnittpunkt des Rechtecks an den neuen Koordinaten befindet (vorher: linke obere Ecke).- BugFix:
GNGTurtle.GrößeSetzen
geht jetzt. - BugFix: Etwas dunklere Schriftfarbe im Light-Theme
- SQL-IDE: accept time constants beginning with 00:
- SQL-IDE: Added data type
time
- SQL-IDE: upper case keyword hints
- SQL-IDE: on import translate
char
tovarchar(1)
- SQL-IDE: enabled foreign key constraint enforcement
- SQL-IDE bugfix: path of files that had bin dragged into folders hadn't been transferred to server
- SQL-IDE: added operators not, ⇐, >=
- SQL-IDE bugfix: terms with unary and binary operators lacked resulttype
- SQL-IDE: make active statement highlighting half transparent so that current selection is visible underneath
- SQL-IDE: bugfix: alter table add constraint only evaluated first constraint
- SQL-IDE bugfix: group by <columnIdentifier> at end of file lead to false error (expecting comma)
- August 2022
- Schüler/innen können jetzt eigene Gafikdateien hochladen und in ihren Programmen als Sprites nutzen.
- Juli 2022
- SQL-IDE bugfix: SymbolResolver didn't recognize aggregating function sum
- SQL-IDE bugfix: parser doesn't recognize keyword distinct
- SQL-IDE bugfix: mysql syntax for auto_increment start value not recognized
- SQL-IDE bugfix: SymbolTable couldn't handle two identical uppercase identifiers
- Juni 2022
- Das Christoph-Scheiner-Gymnasium Ingolstadt ist mit der Online-IDE erster Preisträger beim Wettbewerb ISI Digital der Stiftung Bildungspakt Bayern.
- Mai 2022
- Die SQL-IDE ist in einer ersten Alpha-Version verfügbar. Wie bei der Online-IDE gibt es eine als Open Source veröffentlichte embedded-Variante und eine vollständige IDE. Letztere besitzt die selben Login-Daten wie die Online-IDE und steht allen Nutzern mit Zugang zur Online-IDE als „Dreingabe“ zur Verfügung.
- April 2022
- Die Klassen Robot und RobotWorld sind in einer ersten Version fertiggestellt. (Portierung von Robot Karol in die Online-IDE)
- März 2022:
- Umfangreiche Arbeiten an der SQL-IDE
Shape.setDefaultVisibility
,FilledShape.setDefaultFillColor
,FilledShape.setDefaultBorder
zum Setzen, von Default-Eigenschaften, die nachfolgend beim Instanzieren jedes weiteren grafischen Objekts verwendet werden.<script>
-Elemente in der Embedded-IDE können jetzt Ihren Inhalt nachladen (src-Attribut!).- Methode
SystemTools.pause(int milliseconds)
zum Pausieren des Programms - Methode
Text.setStyle(bold: boolean, italic: boolean)
- Februar 2022:
- Klassen können jetzt deaktiviert/aktiviert werden, um nach einer Prüfung den Login der Schüler/innen temporär zu sperren.
- Neue Methoden
Shape.collidesWithAnyShape()
,Turtle.clear()
undSystemTools.pause(int durationInMs)
- Workspaces kommen jetzt sofort nach dem Austeilen bei den Schüler/innen an. Es ist kein Ein- und Ausloggen mehr nötig.
- Januar 2022:
- Bugfixes, v.a. bei der Workspace-Ordneransicht und den Graphics'n Games-Klassen
- Jeder Klasse kann jetzt eine Zweitlehrkraft zugeordnet werden.
- Workspaces können jetzt via Codes auch für einzelne Benutzer (z.B. andere Lehrkräfte) freigegeben werden.
- Umfangreiche Arbeiten an der SQL-IDE.
2021
- 08.01.2021
- Die Netzwerkfunktionalität ist bis zu einem ersten funktionsfähigen Stand entwickelt und auch schon recht weitgehend getestet. Clientseitig wird sie durch die Klassen
WebSocket
undWebSocketClient
repräsentiert. - Die Repository-Funktionalität ist grob getestet, alle bisher bekannten Bug sind gefixt
- Viele weitere Bugfixes
- 26.01.2021
- Ein großer Teil der Processing-Bibliothek (genauer: p5.js) ist jetzt integriert. Alles steht hübsch gekapselt in der Klasse
PApplet
zur Verfügung. Hier finden Sie Anleitung zum Programmieren mit Beispielen. - Das Klassendiagramm wurde überarbeitet und erweitert:
- Beim Klick auf die Bezeichner der Klassen, Methoden und Attribute innerhalb der Klassenkästen zeigt der Editor jeweils die Stelle der Deklaration.
- Defaultmäßig werden ab jetzt nur die selbst programmierten Klassen angezeigt. Per Klick auf den Menübutton links oben (drei horizontale Linien) sind aber auch die Systemklassen einblendbar.
- Alle Klassen werden initial minimiert (ohne Attribute und Methoden) dargestellt.
- Per Mausklick auf den Hintergrund des Diagramms lässt sich die Diagrammfläche scrollen (Panning).
- Der Parser verarbeitet jetzt auch JavaDoc-Kommentare direkt vor der Definition einer Klasse/Methode/eines Attributes, so dass sie beim Hovering über einem Typen/einem Methodenbezeichner/einem Attributbezeichner mit angezeigt werden.
- 01.02.2021
- Mehrere Bugfixes bei der Verwaltung von Repositories, insbesondere beim Übertragen der Eigentümerschaft von einem Nutzer auf einen anderen.
- Beim Anlegen neuer Nutzer wurde es ab dem 6. Benutzer unerträglich langsam (40 s pro neuem Nutzer…). Schuld war ein Problem des Zufallszahlengenerators in Linux.
- 09.02.2021
- Beim Anlegen von Benutzern ist jetzt der Import von Schülerdaten aus Tabellen (z.B. von Excel her) möglich.
- 17.04.2021
- Der Compiler kennt jetzt auch bitweise Operatoren (
&
,|
,^
,~
,»
,«
,»>
und die entsprechenden Zuweisungsoperatoren&=
,|=
usw.).
@Ralf Rachinger: Danke für den Pull-Request! - Bessere Kollisionserkennung bei
FilledShape
-Unterklassen
- 07.05.2021
- Zwei neue Grafikklassen: Arc (Kreisbogen, ggf. auch gefüllt) und Sector (Kreissektor)
- Mehrere Anzeigeprobleme bei Safari und Firefox wurden behoben
- Bessere Unterstützung für Touch Devices (z.B. iPad)
- 12.05.2021
- Bessere Unterstützung von Texturen: Group.renderAsStaticBitmap, new Sprite(shape), new Polygon(shape). Die Klasse Bitmap ist jetzt doppelt so schnell und verbraucht viel weniger Speicher
- Umstellung der Tabellen auf der Admin-Seite von selectType „cell“ zu „row“
- Color.fromHSL und Color.fromHSLA
- 22.05.2021
- Integration der Bibliothek „Graphics and Games“
- Klasse
Random
mit MethodennextInt
,randInt
undrandDouble
- 11.06.2021
- In der Liste der Wokspaces können jetzt Ordner angelegt werden. Sowohl Workspaces als auch Dateien können dupliziert, kopiert und verschoben werden
- Viele neue Sprites
- Mit
Shape.setActive(false)
kann bewirkt werden, dass graphische Objekte von Transformationen der Welt (World.move, World.rotate, World.scale) ausgenommen werden. Damit lässt sich z.B. eine Punkteanzeige verwirklichen, die nicht mit dem Hintergrund mitscrollt Shape.moveBackFrom(otherShape, keepColliding)
macht den letzten Aufruf von Shape.move teilweise rückgängig, so dass sich die Shapes gerade nicht mehr bzw. gerade noch berühren.Shape.directionRelativeTo(otherShape)
liefert die grobe Richtung (rechts/links/oben/unten), in der das andere Shape liegt.- In der Klasse
MathTools
werden ab sofort alle mathematischen Hilfsfunktionen gesammelt, die nicht Teil der Java-Standardklasse Math sind. Den Anfang machen einige Funktionen zur Bestimmung von Schnittpunkten von 2D-Figuren (Kreis, Polygon, …) - Die Methode
collidesWith
näherte bisher alle Figuren (auch Kreise) als Polygone an. Neu: Die Kollision zweier Kreise miteinander wird jetzt exakt berechnet.
- 14.06.2021
- Alle Unterklassen von Actor (und damit auch die Unterklassen aller graphischen Objekte) besitzen jetzt Methoden zur Abfrage von Gamepads:
isGamepadConnected(int gamepadIndex)
gibt true zurück, wenn das Gamepad mit dem angegebenen Index eingesteckt ist (Erstes Gamepad: gamepadIndex == 0)isGamepadButtonDown(int gamepadIndex, int buttonIndex)
gibt true zurück, wenn der Button mit dem angegebenen Index gerade heruntergedrückt istgetGamepadAxis(int gamepadIndex, int axisIndex)
gibt den Wert der Steuerknüppel-Achse mit dem Index axisIndex zurück. Der Wert ist eine Zahl aus [-1; 1], wobei 0 der Mittelstellung entspricht.
- 21.06.21
- Komplettüberarbeitung der Welt-Transformationen (World.move, World.scale, World.rotate). Die Umsetzung ist jetzt klarer und wesentlich performanter.
- Die Methode Sprite.makeTiling(double width, double height) macht aus einem Sprite eine „Kachelwand“ mit lauter identischen, aneinandergereihten Bildern. Mittels Sprite.getTileImage bekommt man ein Objekt, mithilfe dessen man die Kachelbilder verschieben/strecken kann. Dies wirkt sich gleichzeitig auf alle Kacheln aus, so dass sich damit ein zyklischer Scroll-Effekt erzielen lässt.
- 25.06.2021
- Verbesserung der GUI der Workspaceliste; Button „Alle Ordner zuklappen“
- Juli/August 2021
- Erweiterung der Server-Komponente um eine Caching-Schicht ⇒ deutlich bessere Performance beim Abarbeiten der Requests
- Programmierung eines Portal-Servers, der die Startseite anzeigt, die Login-Daten der Benutzer entgegennimmt und dann zu einem von mehreren Backend-Servern weiterleitet ⇒ Ab jetzt echte Verteilung der Last auf mehrere Server möglich
- SQL-IDE:
- Einlesen der Datenbankstruktur von SQLite
- Lexer, Type-System (aufbauend auf der eingelesenen Datenbankstruktur), Parser, Symbol-Resolver für einen Kern-Teil der SQL-Syntax
- Editor: Syntax-Highlighting, Anzeige der Fehler, Code-Vervollständigung
- September/Oktober 2021
- Einfärben der Klammern im Quelltext: Zusammengehörige Klammern bekommen die selbe Farbe.
- Nach dem Einloggen erscheinen die Ordner in der Workspace-Liste jetzt initial zugeklappt (bis auf die Ordner, die den zuletzt geöffneten Workspace enthalten).
- Methode
System.exit
hinzugefügt - Beseitigung zweier Fehler beim Umbenennen von Bezeichnern (F2, Refactor→Rename): Das Umbenennen geht jetzt auch, wenn der Cursor am rechten Rand des Bezeichners steht. Beim Versuch, Schlüsselwörter o.ä. umzubenennen, wird jetzt eine Fehlermeldung ausgegeben.
- Bei der Codevervollständigung einer Farbkonstante (z.B.
Color.red
,0xff1b2a
,„rgb(100, 120, 40)“
,„#0a3b18“
odernew Color(100, 250, 100)
) wird ein kleines Quadrat mit der betreffenden Farbe angezeigt. Fährt man mit der Maus auf die Farbkonstante und lässt sie etwas stehen, so öffnet sich ein Colorpicker, mit dem sich die Farbkonstante verändern lässt.
2020
- 01.08.2020 - 01.09.2020
- Fertigstellung des Backends zur Benutzerverwaltung für Lehrkräfte und Administratoren
- 09.09.2020 - 23.09.2020:
- Möglichkeit zum Austeilen von Workspaces an Klassen (Rechtsklick auf einen Workspace, dann „An Klasse austeilen…“)
- „Klammerwarnung“: Sobald eine inkonsistente Klammerung vorliegt, warnt der Compiler durch ein großes blinkendes Icon im rechten unteren Bildschirmbereich. Da der Editor beim Tippen einer öffnenden Klammer auch immer gleich die schließende hinzufügt und den Cursor dazwischensetzt, können die Schüler mit etwas Achtsamkeit erreichen, dass nie eine inkonsistent Klammerung vorliegt. Das Warnlicht (und der Undo-Button gleich darunter) sollen sie mit vertretbarer Aufdringlichkeit dazu anhalten.
- Einführung von zwei weiteren Error-Levels („Warnung“ und „Info“ zusätzlich zu „Fehler“). Programme können trotz Warnungen und Infos gestartet werden.
- Warnung bei leeren Loops, z.B.
while(i < 10);{ println(i); }
- Info, falls eine lokale Variable verwendet wird, bevor sie initialisiert wurde; Glühbirne zum Beheben des Problems am Rand.
- Automatisches Setzen von Strichpunkten: Fehlt am Ende einer Zeile ein Strichpunkt und befindet sich der Cursor mindestens zwei Zeilen weiter oben oder unten, so ergänzt der Editor den Strichpunkt automatisch.
- Info, falls der Wert eines Terms berechnet, aber dann nicht weiter verwendet wird, z.B. bei:
int i = 0; while(i < 10){ println(i); i + 1; }
- Verbesserungen am Auto-Formatter:
- Auto-Einrücken bei
switch … case
ist jetzt deutlich schöner - Zieht sich ein Term über mehrere Zeilen, so werden die zweite und alle nachfolgenden Zeilen eingerückt. Das funktioniert bisher aber nur, wenn direkt vor oder nach den Zeilenumbruch ein binärer Operator steht.
- Die Funktionen zur Benutzerverwaltung wurden verschoben nach Datei → Schulen/Klassen/Benutzer. Kleinere Bugs in der Benutzerverwaltung wurden gefixt.
- Buttons zum Umschalten zwischen Präsentations- und Monitormodus neben dem Geschwindigkeitsregler. Für jeden Modus wird der gewählte Theme und die Editor-Schriftgröße gespeichert.
- 23.09.2020 - 01.10.2020
- Die Code-Snippets zum Einfügen von
for(){…}
,while(){…}
usw. enthielten Platzhalter, mit denen die Schüler im Editor nicht gut zurechtkamen. Ich habe die Platzhalter jetzt entfernt und dafür Parameter-Hints missbraucht, um unaufdringlich Hilfen für die verschiedenen Bestandteile der Ablaufstrukturen zu bieten. - BugFix: im hellen Theme waren der Cursor und die Schrift im Eingabebereich von Input.readInt() usw. nicht zu sehen.
- BugFix: die Farben im Dialog von Refactor→Rename (F2) hatten zu wenig Kontrast.
- BugFix: Die Eingabe von „while();“ führte zum Absturz des Compilers.
- BugFix: Beim Hovern über Variablen erstreckte sich der aktive Hover-Bereich noch über den Variablenbezeichner hinaus eine Buchstaben nach rechts und überdeckte dadurch den Hover-Bereich des nächstfolgenden Tokens. Bsp.: im Fall von
a++
bekam man die Kontexthilfe zum Operator++
nur beim Hovern über das rechte+
. Beim linken+
bekam man noch die Kontexthilfe zur Variablea
. - BugFix:
Input.readInt()
scrollte die Eingabezeile an das obere Ende des derzeit sichtbaren Bereichs. Das ließ bei einigen Browsern den kompletten Fensterinhalt um ca. 10px nach oben schieben. - Doku: In der Übersichtsseite zu den Tastaturkommandos standen noch die falschen F-Tasten für die Funktionen Start, Pause und Einzelschritt.
- 07.10.2020:
- Die Methode, in der der Cursor gerade steht, wird blau unterlegt.
- Bugfix: Der Compiler überprüfte bei der Implementierung von abstrakten Methoden nicht, ob der Rückgabeparameter der Signatur übereinstimmt.
- Bugfix: Die Ausgabe hat jetzt wieder einen automatischen Zeilenumbruch.
Ziel für später: konfigurierbarer Zeilenumbruch, evtl. durch Methodenauf ein-/ausschaltbar - Bugfix: System.clearScreen() löschte nicht alles
- 13.10.2020:
- BugFix: Wenn ein Programm Emojis enthielt, wurde es nicht gespeichert.
- BugFix: Der Server hatte zwei(!) Memory Leaks. ⇒ Servercode umfangreich überarbeitet, Leaks gestopft, Konsole zur Überwachung der Systemauslastung programmiert
- Der Lexer akzeptiert jetzt auch Zahlenkonstanten (Literals) in binary, octal und hexadecimal (siehe auch hier)
- BugFix: Wenige Stunden lang hatte ein Fehler im Lexer (s.o.) zur Folge, dass die Zahlenkonstante 0 nicht richtig geparst wurde und bspw. 0 == 0 den Wert false ergab.
- Wenn ein Programm an einer Anweisung wie
Input.readInt(„Geben Sie eine Zahl ein“);
hält, werden jetzt die Variablenbelegungen im Debugger-Fenster angezeigt.
- 26.10.2020:
- BugFix: implementierte eine Klasse ein Interface, so wurden die Methoden nicht richtig zugeordnet und angemahnt, dass die Methoden des Interfaces noch implementiert werden müssen.
- Neuer Button zum Erweitern des Editors auf die volle Fensterbreite
- Falls der Browser länger inaktiv ist (z.B. weil ein Laptop zugeklappt wurde oder der Rechner in den Energiesparmodus geht), wird der Benutzer automatisch abgemeldet, auch wenn Java-Online im Browser noch offen ist. Kehrt man wieder zur Arbeit zurück, so wird der Benutzer jetzt wieder automatisch angemeldet.
- weitere kleine Bugfixes…
- 14.12.2020:
- Einige Bugfixes und kleinere Verbesserungen
- Die Funktionalitäten rund ums Repository sind jetzt erstmals produktiv verfügbar (Vorsicht: Beta-Ware!)
- Schüler können per Rechtsklick Dateien als „Hausaufgabe markieren“. Sie werden der Lehrkraft unten im Hausaufgaben-Tab zur Auswahl gestellt. Hier eine Demonstration der Funktionalität anhand kurzer animierter gifs.
- Korrekturen der Lehrkraft werden den Schülern wahlweise im Diff-View gezeigt.
- 17.12.2020:
- Workspaces können jetzt auch an einzelne Schüler/innen ausgeteilt werden
- Klasse
LocalDateTime
zur Verwendung der Systemuhr und zum Rechnen mit Datumswerten.
- 21.12.2020:
- Wichtige Bugfixes: Generische Typen können jetzt auch mit Enums parametrisiert werden, daher ist jetzt auch
enum test{}; ArrayList<test> t = new ArrayList<>();
möglich. - Enthält eine Klasse Attribute, die direkt bei der Deklaration initialisiert werden, so wird diese Initialisierung nicht mehr übergangen, wenn eine Kindklasse von dieser Klasse erbt.
- Der Compiler lässt es jetzt nicht mehr zu, dass Objekte einer abstrakten Klasse instanziert werden.
- 22.12.2020:
- Klasse Vector2 zur 2D-Vektorrechnung begonnen
- MouseListener-Klasse zum Reagieren auf Mausereignisse, die die gesamte Zeichenfläche betreffen (MouseUp, MouseDown, MouseMove, MouseEnter, MouseLeave)
- Generation von Bounding-Polynomen für die Sprites optimiert
- Line-Klasse zum Zeichnen von Strecken
- 26.12.2020
- Mittels der Navigationsbuttons des Browsers oder durch <Alt> + Pfeil links bzw. <Alt> + Pfeil lässt sich jetzt in der Historie der Bearbeitungsstellen zurück- und vorwärts springen
- Tippt der Benutzer „class“ und gibt es in der Datei noch keine Klasse, so schlägt der Computer vor: „class <Dateiname> { }“
2019
- 01.08.2019 - 31.07.2020: Entwicklung der Grundfunktionalität
Meinen 10. Klassen im Schuljahr 2019/2020 möchte ich an dieser Stelle herzlich danken für die vielen Verbesserungsvorschläge und für ihre Geduld beim Arbeiten mit den allerersten - oft noch ziemlich fehlerbehafteten - Programmversionen!
javaonline/changelog.txt · Zuletzt geändert: 2024/08/31 10:03 von 127.0.0.1