Hyperbook Documentation

Online IDE

Java-like programming language (compiler, interpreter, debugger) with IDE that runs entirely in the browser.

Attributes

Attribute Description Default
fileList Show the file list on the left true
pCode Show the PCode tab in the bottom panel false
bottomPanel Show the bottom panel true
errorList Show the error list in the bottom panel true
height Height of the editor calc(100dvh - 80px)
speed Execution speed 1000
libraries Comma-separated list of libraries to preload, for example nrw -

(See: https://github.com/martin-pabst/Online-IDE-new-compiler).

:::onlineide
 
````markdown A Hint
## Tip:
 
Tips are written in a simple Markdown syntax which
which allows **boldface** and the like, but also syntax
syntax highlighting in body text (`class square extends rectangle { }`)
and in whole paragraphs:
 
```
 
double v = Math.random()\*8 + 2; // Amount of speed between 2 and 10
 
double w = Math.random()*2*Math.PI; // angle between 0 and 2\*PI
 
vx = v \* Math.cos(w);
 
vy = v \* Math.sin(w);
 
```
````
 
```java Feuerwerk.java
 
new Feuerwerk();
 
class Feuerwerk extends Actor {
 
   public void act() {
      if(Math.random() < 0.03) {
 
         int funkenzahl = Math.floor(Math.random() * 50 + 30);
         int farbe = Color.randomColor(128);
 
         double x = Math.random() * 400 + 200;
         double y = Math.random() * 600;
         double lebensdauer = 60 + Math.random() * 60;
         for (int i = 0; i < funkenzahl; i++) {
            new Funke(x, y, farbe, lebensdauer);
         }
         Sound.playSound(Sound.cannon_boom);
 
      }
   }
 
}
 
class Funke extends Circle {
   double vx;
   double vy;
   double lebensdauer;           // lebensdauer in 1/30 s
 
   Funke(double x, double y, int farbe, double lebensdauer) {
      super(x, y, 4);
      double winkel = Math.random() * 2 * Math.PI;
      double v = Math.random() * 15 + 5;
      vx = v * Math.cos(winkel);
      vy = v * Math.sin(winkel);
      setFillColor(farbe);
      this.lebensdauer = lebensdauer;
   }
 
   public void act() {
      lebensdauer--;
      move(vx, vy);
      vy = vy + 0.2;
      if(lebensdauer < 30) {
         setAlpha(lebensdauer / 30);
      }
      if(isOutsideView() || lebensdauer < 0) {
         destroy();
      }
   }
 
}
 
```
 
:::

With others libraries

Library Parameter Description
Abitur classes NRW libraries="nrw" Class library for use in the central Abitur of North Rhine-Westphalia
Graphics and Games Library libraries="gng" Graphical class library for the Bavarian computer science books of the Cornelsen publishing house
Abitur classes Lower Saxony libraries="niedersachsen" Class library for use in the Abitur Lower Saxony
:::onlineide{height="500px" libraries="nrw"}
 
```java Test.java
 
var l = new List<Integer>();
l.append(1);
 
```
 
:::
Online IDE

Create Shareable URL

Select Sections

✎ GitHub© Copyright 2026 by OpenPatch