I know how to create borders using BorderFactory but I don't see anything that lets me specify what sides I want the border on :S
I know how to create borders using BorderFactory but I don't see anything that lets me specify what sides I want the border on :S
You can use the MatteBorder to specify the dimensions of the border in each side. The constructor of MatteBorder is:
public MatteBorder(int top,
int left,
int bottom,
int right,
Color matteColor)
So if you want to have a border only on the bottom and right sides of your JPanel, you could write something like this:
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 1, Color.BLACK));
From Sun tutorial:
The next picture shows some matte borders. When creating a matte border, you specify how many pixels it occupies at the top, left, bottom, and right of a component.
Matte and empty border allow you to specify the sizes on each side, which may be zero.
The Border interface itself is quite easy to implement yourself if you want a custom look. I guess there may be third party libraries available containing styles not included within the Java library.
text_field.setBorder( new MatteBorder(2, 0, 0, 0, Color.black));
The values can be varied accordingly.