setBorder(...)
method.
To create borders, use methods in the
BorderFactory
class.
This and other border classes can be used with
import javax.swing.border.*;A Border object describes how to draw the border, and the same Border object may be used to set the border of many components.
Borders can be grouped into these types:
JPanel controls = new JPanel(); controls.setBorder(BorderFactory.createEmptyBorder(10,5,10,5));
Border lineBdr = BorderFactory.createLineBorder(c);
Border lineBdr = BorderFactory.createLineBorder(c, w);
Border etchedBdr = BorderFactory.createEtchedBorder()
Border etchedBdr = BorderFactory.createEtchedBorder(h, s);
Border lowerdBdr = BorderFactory.createLoweredBevelBorder();
Border raisedBdr = BorderFactory.createRaisedBevelBorder();
BorderFactory.createTitledBorder(brdr, title)
import javax.swing.border.*; . . . JPanel controls = new JPanel(); Border etched = BorderFactory.createEtchedBorder(); Border titled = BorderFactory.createTitledBorder(etched, "Controls"); controls.setBorder(titled);
BorderFactory.createTitledBorder(brdr, text, just, place, fnt, clr)
brdr | One of the other borders (line, etched, blank, ...). |
title | The title string to display. |
just | The text justification:
TitledBorder.LEFT, TitledBorder.CENTER,
TitledBorder.RIGHT, TitledBorder.LEADING,
TitledBorder.TRAILING, TitledBorder.DEFAULT_JUSTIFICATION (TitledBorder.LEADING) |
place | The title position:
TitledBorder.ABOVE_TOP, TitledBorder.TOP,
TitledBorder.BELOW_TOP, TitledBorder.ABOVE_BOTTOM,
TitledBorder.BOTTOM, TitledBorder.BELOW_BOTTOM,
TitledBorder.DEFAULT_POSITION (TitledBorder.TOP) |
fnt | The title Font. |
clr | The Color of the title. |
Border inner = BorderFactory.create . . . Border outer = BorderFactory.create . . . Border combined = BorderFactory.createCompoundBorder(outer, inner); p.setBorder(combined);
getInsets
method and use the left, right, top, and bottom
fields. For example, to draw a panel that has (or might have) a border:
public void paintComponent(Graphics g) { super.paintComponent(g); Insets ins = this.getInsets(); int h = this.getHeight() - ins.top - ins.bottom; int w = this.getWidth() - ins.left - ins.right; g.fillRect(ins.left, ins.top, w, h); }