In computer terminology, an interface is a meeting point or a connecting point or a communication point between two. If the two are systems in LAN, the interface is a socket and in RMI (Remote Method Invocation, a Java technology), the meeting point is RMI Registry and in Web communication, the interface is Internet. Now I think you got what is an interface. To put in plain words, if I would like to meet you, I say come to Bawarchi Hotel. "Bawarchi Hotel" is the interface between you and me. If no "Bawarchi Hotel", we cannot meet and talk.
Now let us define What is User Interface?
User Interface (UI) is a connecting point between a running program (of any language) and the user. Suppose a running program, say C-lang, that calculates the cost of one mango, requires from you (the user) the cost of mangoes and number of mangoes. Now you would like to give the cost and number to running C Program. This interaction you do with scanf() by feeding data from command prompt (known as Command line interface). This style is not of practical (real time) use. In real time, we use GUI (Graphical User Interface). GUI uses graphics (drawing different geometrical figures is known as graphics) to interact with a running program. The graphics include rectangular boxes (buttons and text boxes) or discs (radio buttons) or square boxes (checkbox) etc. To emphasize, had there been no GUI, the computers would have been this much popular. To give the user name and password, to access you email account, you use GUI.
Java is a very strong supporter of GUI. Java comes with two packages to support GUI – java.awt and javax.swing.
Following links give you the complete control on Java GUI.