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 has 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).