Consider greenfoot as a combination between a framework for creating
two-dimensional grid assignments in Java and an integrated development
environment (class browser, editor, compiler, execution, etc.) suitable
for novice programmers. While greenfoot supports the full Java language,
it is especially useful for programming exercises that have a visual
element. In greenfoot object visualisation and object interaction are
the key elements.
If you know BlueJ and a microworld framework (like Karel the Robot
or the AP Marine Biology Case Study) consider greenfoot as the best
from both: object interaction (BlueJ) and object visualisation (microworlds).