/**
*
*/
package com.github.cbpos1989.gui_tutorials;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;
/**
* Class to demonstrate the use of borders.
*
* @author Colm O'Sullivan
*
*/
public class BorderDemo {
private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
private int screenWidth = (int)screenSize.getWidth();
private int screenHeight = (int)screenSize.getHeight();
private JPanel content;
/**
* @param args
*/
public static void main(String[] args) {
BorderDemo bd = new BorderDemo();
bd.startProgram();
}
private void startProgram() {
JFrame window = new JFrame("Border Demo");
content = new JPanel();
content.setBackground(Color.LIGHT_GRAY);
content.setLayout(new GridLayout(0,1,7,7));
content.setBorder(BorderFactory.createEmptyBorder(7,7,7,7));
make(BorderFactory.createLineBorder(Color.RED,2),"BorderFactory.createLineBorder(Color.RED,2)");
make(BorderFactory.createMatteBorder(2,2,5,5,Color.RED),"BorderFactory.createMatteBorder(2,2,5,5,Color.RED)");
make(BorderFactory.createEtchedBorder(),"BorderFactory.createEtchedBorder()");
make(BorderFactory.createRaisedBevelBorder(),"BorderFactory.createRaisedBevelBorder()");
make(BorderFactory.createLoweredBevelBorder(),"BorderFactory.createLoweredBevelBorder()");
make(BorderFactory.createTitledBorder("Title Goes Here"),"BorderFactory.createTitledBorder(\"Title Goes Here\")");
window.setContentPane(content);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLocation(screenWidth/2, screenHeight/2);
window.setSize(300,600);
window.setVisible(true);
}
private void make(Border border, String command){
JLabel label = new JLabel(command,JLabel.CENTER);
label.setBackground(Color.LIGHT_GRAY);
label.setOpaque(true);
label.setBorder(border);
content.add(label);
}
}