Greenfoot
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 visualization and object interaction are the key elements.
Introduction Videos
Tutorials
Tutorial 1 - Interacting with Greenfoot
Tutorial 2 - Movement and Key Control
Tutorial 3 - Detecting and Removing Actors and Making Methods
Tutorial 4 - Saving the World, Making and Playing Sound
Tutorial 5 - Adding a Randomly Moving Enemy
Tutorial 6 - How to Access One Object from Another
Java Tutorials
More advanced JAVA tutorials here
Videos
For many more Greenfoot videos check out this YouTube channel
For many Greenfoot tips & tricks, check out this channel here