Recently I've just finished my first term in college about java programming, and even before I started my First term in college I already know stuff about java, but to keep this short, all I want to know is where do I go now? what topic should I study? should I already study advance java?

and I already know the basics
like Encapsulation,Polymorphism,Inheritance,arrays,objects,classes,exception handling, and more to mention. what should I study next? (I don't have any idea about UIs though)

In that case GUIs (Swing) would be a good place to go next.

And J2EE if you're interested in the web/enterprise branch of Java.

I am gonna go with swings 1st, how about advance java?? like concurrency?

GUI skills will get you a job now.

The industry is heading quickly towards a major concurrency problem -- lots of cores vs mostly single-threaded code. If someone can find good answers to that problem, they could be very successful! ;->

GUI skills will get you a job now.

The industry is heading quickly towards a major concurrency problem -- lots of cores vs mostly single-threaded code. If someone can find good answers to that problem, they could be very successful! ;->

what specifically part of the UIS? which topic in the UIs? swings? awts? tell me please, I am really bored I want to study java, please suggest me anytopic regarding UI .


and about concurrency , could you explain to me that problem fully?

Study Swing. AWT was the original GUI, and parts are still there underneath Swing, but the design was flawed and Swing replaced it around about Java 1.2

Concurrency is about programming for machines that have many processors, so you have to write your program in such a way that it can execute in many concurrent (ie simultaneous) threads. Check out the enhancements in Java 7 - these include some threading enhancements for concurrency. But before you get seriously into this topic you need to fully master Threads in their current form.

Here's a suggestion:
Have a go at the "chat" application. Multiple clients with a GUI to log on then send messages to the other clients, displaying all the messages in a scrolling window, optional buttons for bold/italic or whatever (can be a complex as you like - drop-down lists for fonts, colour pickers etc) - it gets you into GUI, TCP/IP networking via Sockets, and multiple threads - all really good things to learn about.

Here's a suggestion:
Have a go at the "chat" application. Multiple clients with a GUI to log on then send messages to the other clients, displaying all the messages in a scrolling window, optional buttons for bold/italic or whatever (can be a complex as you like - drop-down lists for fonts, colour pickers etc) - it gets you into GUI, TCP/IP networking via Sockets, and multiple threads - all really good things to learn about.

Do you know any website that can get me started/ give me tutorials for that?. so It's settled I'll study SWING .

IMHO you can't beat the Oracle tutorials
http://download.oracle.com/javase/tutorial/uiswing/


ps: I would personally recommend skipping the NetBeans bit at first. GUI IDE's are a great tool, but it's important to understand what they are doing and why. I would start with just an editor and compiler until you have a good understanding of layout managers and listeners, then use advanced tools afterwards.

IMHO you can't beat the Oracle tutorials
http://download.oracle.com/javase/tutorial/uiswing/


ps: I would personally recommend skipping the NetBeans bit at first. GUI IDE's are a great tool, but it's important to understand what they are doing and why. I would start with just an editor and compiler until you have a good understanding of layout managers and listeners, then use advanced tools afterwards.

I don't really use Netbeans , I use Eclipse as my IDE,my College instructor told us that he discourages us to use IDEs for now.

alright thanks for the link I'm going to study UI :) thanks

Eclipse/NetBeans - very similar in capabilities etc, so either will do, but I agree with your instructor who says "yes, but not yet".
(If you are already used to Eclipse then that's OK, but don't try using any GUI builder/code generation tools yet).

Eclipse/NetBeans - very similar in capabilities etc, so either will do, but I agree with your instructor who says "yes, but not yet".
(If you are already used to Eclipse then that's OK, but don't try using any GUI builder/code generation tools yet).

what are some examples of GUI builder/code generator? are those even possible? and if they are possible are they free?

Netbeans and Eclipse include them, to name but two. It's a GUI environment where you can select Swing components from a list then drag and drop them onto your window design, and edit their properties in a little property editor. If you want a better description have a quick look at the NetBeans section in the tutorial I linked you before.
Its quite productive for straight forward designs, but less useful for more advanced stuff, and the property editors shield you from the actual code, which is not good for learning.

A few months back Google had acquired an organization which specialized in created UI builders for Swing / SWT (the toolkit which powers Eclipse) and open sourced it. Not sure how good it is but worth a try if you are into creating drag-n-drop UI's.

practice more....be the master of what you know...
if you dont how to build gui applications then learn swings

practice more....be the master of what you know...
if you dont how to build gui applications then learn swings

Okay, I'll learn some simple swings then practice more, then I'll proceed with advance swings then advance java, will that do?

It's called Swing not swings

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.