Please provide more details, eg, a marker to which line throws the error, and a copy of the exact error message.
You have declared unten twice; do a ctrl-F search for "unten" then "oben" and about L102 you declare unten anew as a local variable, which you don't do to oben. This mistake means that the field unten declared elsewhere is never initialised.
Go to your gewonnen and gelichstand methods and enter the following statements just before unten.dispose();
System.out.printf("Das Objekt \"unten\" gibt's doch: %b%n", unten != null);
which will probably print out the German for
"The object "unten" does exist after all: false"
If that is the problem, you can probably delete the "Composite" before "unten" on line 102 and sort out your Exception.