Chapter 13. Borders

Borders were one of the most commonly requested extensions to the Java AWT. Swing provides seven unique styles of borders and allows you to “compound” borders to form more intricate combinations. This chapter introduces you to the Swing borders, and shows you how to work with and configure them. At the end of the chapter, we also show you how to create a border of your own.

Introducing Borders

Figure 13.1 shows the standard borders that Swing provides. There are eight border styles: Bevel, Soft Bevel, Empty, Etched, Line, Matte, Titled, and Compound. The MatteBorder gives you two borders in one: the border area can be filled with a solid color or an icon. (The figure only shows the icon version; we’ll leave it up to you to imagine the solid line.)

Borders in Swing

Figure 13-1. Borders in Swing

You can place a border around any Swing component that extends JComponent. The JComponent class contains a border property that is inherited by all Swing components. (Top-level components that don’t inherit from JComponent, like JFrame and JDialog, can’t have borders.) By default, the border property is null (no border), but you can access and modify it using the getBorder() and setBorder() methods. Once you’ve set a component’s border, the component always paints itself using that border, and the insets of the border replace the component’s default insets.

Here’s how to set a component’s border: ...

Get Java Swing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.