Borders
Any Swing component can have a decorative
border.
JComponent includes a method called
setBorder( )
; all you have to do is call
setBorder( ), passing it an appropriate
implementation of the
Border
interface.
Swing provides many useful Border implementations
in the javax.swing.border package. You could
create an instance of one of these classes and pass it to a
component’s setBorder( ) method, but
there’s an even simpler technique.
The BorderFactory
class can create any kind of border for
you using static “factory” methods. Creating and setting
a component’s border, then, is simple:
JLabel labelTwo = new JLabel("I have an etched border.");
labelTwo.setBorder(BorderFactory.createEtchedBorder( ));Every component has a setBorder( ) method, from
simple labels and buttons right up to the fancy text and table
components we’ll cover in the next chapter.
BorderFactory is convenient, but it does not offer
every option of every border type. For example, if you want to create
a raised EtchedBorder instead of the default
lowered border, you’ll need to use
EtchedBorder’s constructor rather than a
method in BorderFactory, like this:
JLabel labelTwo = new JLabel("I have a raised etched border.");
labelTwo.setBorder( new EtchedBorder(EtchedBorder.RAISED) );The Border
implementation classes are listed and
briefly described here:
-
BevelBorder This border draws raised or lowered beveled edges, giving an illusion of depth.
-
SoftBevelBorder This border is similar to
BevelBorder, but thinner. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access