Java Tutorial/Swing/EmptyBorder

Материал из Java эксперт
Перейти к: навигация, поиск

14. Adding EmptyBorder to a JButton

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.border.Border; public class AnEmptyBorder {

 public static void main(String args[]) {
   JFrame frame = new JFrame("Empty Borders");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   Border emptyBorder = BorderFactory.createEmptyBorder(20, 20, 0, 0);
   JButton emptyButton = new JButton("With Empty");
   emptyButton.setBorder(emptyBorder);
   JButton nonemptyButton = new JButton("Without Empty");
   
   Container contentPane = frame.getContentPane();
   contentPane.add(emptyButton, BorderLayout.NORTH);
   contentPane.add(nonemptyButton, BorderLayout.SOUTH);
   frame.pack();
   frame.setSize(300, frame.getHeight());
   frame.setVisible(true);
 }

}</source>





14. Creating and Setting an Empty Border from BorderFactory

   <source lang="java">

import javax.swing.BorderFactory; import javax.swing.JLabel; import javax.swing.border.EmptyBorder; public class Main {

 public static void main(String[] argv) {
   EmptyBorder emptyBorder = (EmptyBorder) BorderFactory.createEmptyBorder();
   JLabel component = new JLabel("label");
   component.setBorder(emptyBorder);
 }

}</source>





14. Creating Empty using its Constructor

EmptyBorder is a border with nothing drawn in it.



   <source lang="java">

import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; public class EmptyBorderSample {

 public static void main(String args[]) {
   JFrame frame = new JFrame("Sample Borders");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Border emptyBorder = new EmptyBorder(5, 10, 5, 10);
   
   JLabel aLabel = new JLabel("Bevel");
   aLabel.setBorder(emptyBorder);
   aLabel.setHorizontalAlignment(JLabel.CENTER);
   frame.add(aLabel);
   frame.setSize(400, 200);
   frame.setVisible(true);
 }

}</source>





14. Empty Border

  1. The empty border leaves a transparent margin without any associated drawing.
  2. It"s an alternative to using the insets in AWT.
  3. The class requires that fields such as top, left, bottom, and right be specified.
  4. You can also use an insets object to create an empty border.



   <source lang="java">

import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class EmptyBorderForLabel extends JFrame {

 public EmptyBorderForLabel() {
   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel panel = new JPanel();
   JLabel label;
   label = new JLabel("Empty");
   label.setBorder(BorderFactory.createEmptyBorder(10, 20, 10, 20));
   panel.add(label);
   getContentPane().add(panel);
   pack();
 }
 public static void main(String[] args) {
   EmptyBorderForLabel s = new EmptyBorderForLabel();
   s.setVisible(true);
 }

}</source>