Learning Java
Chapter 14: Using Swing Components
Borders - Cont.
The following example shows off some different border types. It's only a sampler, though; many more border types are available. Furthermore, the example only encloses labels with borders. You can put a border around any component in Swing. The example is shown in Figure 14-3; the source code follows.
Figure 14-3.
A bevy of borders
|
|
//file: Borders.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Borders {
public static void main(String[] args) {
// create a JFrame to hold everything
JFrame f = new JFrame("Borders");
f.addWindowListener(new WindowAdapter( ) {
public void windowClosing(WindowEvent we) { System.exit(0); }
});
f.setSize(300, 300);
f.setLocation(200, 200);
// Create labels with borders.
int center = SwingConstants.CENTER;
JLabel labelOne = new JLabel("raised BevelBorder", center);
labelOne.setBorder(
BorderFactory.createBevelBorder(BevelBorder.RAISED));
JLabel labelTwo = new JLabel("EtchedBorder", center);
labelTwo.setBorder(BorderFactory.createEtchedBorder( ));
JLabel labelThree = new JLabel("MatteBorder", center);
labelThree.setBorder(
BorderFactory.createMatteBorder(10, 10, 10, 10, Color.pink));
JLabel labelFour = new JLabel("TitledBorder", center);
Border etch = BorderFactory.createEtchedBorder( );
labelFour.setBorder(
BorderFactory.createTitledBorder(etch, "Title"));
JLabel labelFive = new JLabel("TitledBorder", center);
Border low = BorderFactory.createLoweredBevelBorder( );
labelFive.setBorder(
BorderFactory.createTitledBorder(low, "Title",
TitledBorder.RIGHT, TitledBorder.BOTTOM));
JLabel labelSix = new JLabel("CompoundBorder", center);
Border one = BorderFactory.createEtchedBorder( );
Border two =
BorderFactory.createMatteBorder(4, 4, 4, 4, Color.blue);
labelSix.setBorder(BorderFactory.createCompoundBorder(one, two));
// add components to the content pane
Container c = f.getContentPane( );
c.setLayout(new GridLayout(3, 2));
c.add(labelOne);
c.add(labelTwo);
c.add(labelThree);
c.add(labelFour);
c.add(labelFive);
c.add(labelSix);
f.setVisible(true);
}
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.