Are you sure this is a good idea? It sounds kind of like it's your idea that your girlfriend should learn to program, not hers. And have you considered giving her an easier route in by starting with Python instead? It's widely taught as a first programming language in schools, universities and even big tech companies like Google. It's object oriented, but it's dynamically typed and interpreted, so the syntax is much easier to get started with and you don't have to worry about dealing with compilers etc. There are huge numbers of high quality libraries available for Python, so you can do pretty much anything with it, and it's widely used in science, industry and commerce - I'm seeing more and more Python jobs coming up in the financial sector for example.
Because of its popularity as a learner's language, there are lots of books and free learning materials for Python. Here's just a few examples:
Think Python - free online edition of a well-known introductory book on Python.Hello World! - a fun book "written in language a 12-year-old can follow, but anyone who wants to learn how to program a computer can use it. Even adults."Head First Python - a great introduction to Python that covers a lot of ground in the distinctive Head First style.Google's Python class - based on Google's introductory Python course for its own staff.Udacity Intro to Computer Science - free online course for beginners using Python to teach CS basics.Coursera Introduction to Interactive Python - this free online course has already started but you can still follow along and do the exercises etc.O'Reilly Python Programming 1 - not free (costs about $500), but a very good, well-structured course with lots of practical work and your own tutor to provide feedback and answer questions.
FWIW, I think Python is a much better language for learners than Java, while still allowing you to acquire solid programming skills that can be applied in the real world. It allows you to make things happen quickly, tinker with your code in a REPL-like environment, and develop your skills in OO programming without all the cruft associated with Java. If you already know Python, then you're in an ideal position to help her - and if you don't know Python, it will probably be more fun for you both to be learning together (and share the pain

).
You're taking on quite a challenge here. Lots of very clever people simply don't get programming, and lots of clever people can't teach the stuff they know either (teaching is just as specialised a skill as programming), so you'll need to tread carefully and look out for positive ways to help your girlfriend work through the difficulties. But if she enjoys writing her first few programs in Python, as many people do because it's so easy to get started, then she's more likely to want to continue. Eventually, she may want to apply her OO Python knowledge in learning Java, or she may want to leapfrog Java and use her dynamic Python knowledge to get into the cool new dynamic languages on the JVM platform - she may even end up ahead of you on the tech adoption curve! If she decides not to take it further, she'll still have learned the basics of a useful programming language that can be used very easily for all kinds of ad hoc tasks on pretty much any platform.
Anyway, good luck to both of you - you're going to need it!