As a beginner java learner, I would be grateful if some people could point out a few open source projects with a high quality code base. Not necceserily aimed at a beginner, I would rather see a professional quality example, and preferabbly the project would use some common tools for java, javadoc, build tools - gradle or maven as I'm going to learn one of these two - and either svn or github for revision control. I hope I'm not asking too much there, but I'll take what I can get! I would like to have a browse through some good code and take a break from examples that for the sake of simplicity use poor practices.

Appreciated!

p.s I currently only have windows installed.

Yes, but I want to see a project and how they've made their decisions. Not read through the api!

I didn't say "read the API", I suggested you read the source code of the Java classes that implement the API. That satisfies everything in your first post except the use of build tools.

Alright,thanks for the correction. I'll take a look then, but I would still like to see a project that uses gui libraries, revision control,javadoc, and gradle. Maybe something that after reading over I could make a few tweaks and commits, just for practice.

Also, if you know of any tutorialsor discussions about the use of lambdas, that could be handy. Found the seciton in the main tutorial convuluted.

What libraries for gui would you suggest for the most control, and the cleanest syntax? When I say control I mean I would like the toolkit to pretty much be able to make anything possible with the modern web at least.

The usual GUI lib for Java is its javax.swing - part of the standard Java API. However, starting with Java 8 this month Oracle are pushing JavaFX as a superior replacement for Swing with lots of animations and clever effects.

I'm hoping to get time to post some simple "why are lambdas a good thing" tutorials here when they are released. I'm a big fan.

As for projects - have a look at NetBeans - it's one of the two all-singing all-dancing IDEs for Java, so it's a vast GUI project with massive technical content under the hood. It's written in Java, and you can join the project at https://netbeans.org/community/index.html

I will check out javaFx soon then! Guess its a good time to be learning java!

I'll look forward to those, and try to keep an eye out for them.

I assume the other would be eclipse, I never thought to check the source code for my ide. I already have eclipse installed so would it be worth going through the code? or is the source code for eclipse of poorer quality than netbeans?

Yes, Eclipse is trhe other. I can't comment on the quality of either sources because I haven't read them myself. I would expect them both to be of very high quality.
I suggested NetBeans because that's closer in its roots to Sun/Oracle Java. More seriously, Eclipse uses IBM's SWT GUI library rather than Java's Swing or JavaFX. Although SWT is used a lot by IBM, Swing is far more common in general Java usage.

Edited 2 Years Ago by JamesCherrill

I'll take a look at the eclipse source code then, should be interesting! Then I'll make time to go over JavaFx and lambdas when java 8 comes out. I also intend to take a look at libgdx and android, do you think I'm being overly ambitious or should it be fairly straight forward to get working with these libraries once I'm down with the basics of java itself?

p.s This might be silly, but can one easily port java software to ubuntu phone? I'm tempted to take a look, ubuntu is my favourite OS.

Honestly? I think you may be over ambitious. Any one of those topics includes a huge base of data and practice - just take them one at a time and don't expect rapid results.
Personally I have no knowledge of Unbuntu phone development, but maybe someone else here will be able to help.

I'll choose which to start with carefully then and spend a couple of months playing with it before considering trying something else.
Well no worries, was just a thought! I'll take your advice and see how it goes for now. Thanks again!

This question has already been answered. Start a new discussion instead.