Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
abstract class MathLiteral{
private int x, y; // evtl noch "width, height"
public MathLiteral(int x,int y){
this.x= x;
this.y= y;
}
// Setter und Getter für x, y
public abstract void paint(Graphics g);
}
und dann sinnvoll spezifische Klassen erstellen, bsp:
Code:
class Bruch extends MathLiteral{
private MathLiteral zaehler, nenner;
public Bruch(MathLiteral z, MathLiteral n, int x, int y){
super(x,y);
zaehler = z;
nenner = n;
}
@Override
public void paint(Graphics g){
zaehler.paint(g);
this.setY( this.getY() + 10);
g.drawLine(x,y, Math.max(zaehler.getWidth(), nenner.getWidth());
this.setY(this.getY() + 10);
nenner.paint(g);
}
Iiiiiirgendwie so Macht jetzt alles nicht viel Sinn, aber ich hoffe du siehst in welche Richtung ich damit
geh. Ein MathLiteral ist alles: Sowohl eine kleinste Zahl bis hin zur kompletten Formel. Jetzt musst du sie
nur gut verschachteln, und wenn du von außen deine Formel einliest, erstellst du nach und nach die einzelnen
Elemente, also Brüche etc, und gibst ihnen entsprechende Koordinaten mit. Die kannst du ja berechnen an
der Stelle, wo du die komplette Formel kennst.
Nein, aber wenn du es machen möchtest, dann kann es dir egal sein
ob es das schon gibt oder nicht. Ich meine willst du was Programmieren oder suchst
du eine Software zur Benutzung?
Naja, wenn man irgendwie in der lage gewesen ist, irgendwo den parse baum herzubekommen, und diesen in einen ordentlichen Formel-Baum umzuwandeln, dann bleibt ja fast nichts mehr zu tun, läuft ab da von selbst...