lambnes is an open source NES emulator written in Java and is yet in a very early stage of development. A new version has been released.
Quote:
An open source NES emulator written in java mainly as an educational project.
version 0.0.5 has been released. This release includes numerous improvements and support for scrolling. Scrolling still exhibits some problems, but more or less pretty much works. Various games are kind of working now.