I don't program in Java, nor do I ever want to, so I cannot comment on that area. However I can comment on careers.
Good career choices start with a proper attitude. You are only as valuable as your attitude, skills, and personality. Stress on the job is directly related to your attitude about the job. I often am faced with things that I don't know or understand, but because I enjoy the challenge of figuring it out (and am humble enough to admit that I don't know everything) my stress is fairly low. Laziness doesn't fit with these types of jobs because there are so many people in the industry.
Admitting you were lazy is good, but you need to get over it and prove that you have the drive to improve and do something in your job. For example, I have a friend who was under-qualified for a job compared with another applicant, but because he was honest and didn't pretend to know everything he got the job (this was shared with him afterwards).
The number of languages that you learn is up to you and your job. You could find jobs related to just Java, however those would likely require a higher level of expertise. You could also try to specialize in a combination, perhaps Java and Flex or some combination that is more rare, but still needed. Generally though, I think a programmer knows one language really well and picks up a few others along the way. If you work in a large company, its easier to get away with sticking to one task, but if you are in a small business your skills will need to be flexible enough to cover their needs.
I also don't think you should limit yourself to being a Java programmer just because you did it once, maybe you have strengths in network administration or other techie things. The real trick in a career is to find what you like to do the most, and make your niche.
jeremy - gnomeontherun
Educated questions often get educated answers, and simple questions often get simple answers.