This example has four JLabels in it and a FlowLayout Manager is taking care of laying out these labels. Each label uses a unique border to draw around it. Since JLabel is a component, one can apply the same technique for other components as well. For example, a JTextField can use same technique to draw the border. Now, we can have a look at the Bevel Raised border in the picture above and the JLabel looks like a button, right? But it is not. We also set a Font for all the JLabels in this example.
In the this example, we can see how a JFrame Window looks. The three buttons in the top right clearly show how it was drawn using line and rectangles using in-built graphics API. The window displays the title in the frame. And in the Gray area, three JLabels are sitting. That is all and nothing special here.