Java by API/javax.swing.border/Border

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

implements Border

   <source lang="java">

import java.awt.Color; import java.awt.ruponent; import java.awt.Graphics; import java.awt.Insets; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.border.Border; class SimpleBorder implements Border {

 int top,left,bottom,right;
 Color color = null;
 public SimpleBorder() {
   this.top = 2;
   this.left = 4;
   this.bottom = 8;
   this.right = 10;
   this.color = Color.RED;
 }
 public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
   Insets insets = getBorderInsets(c);
   if (color != null)
     g.setColor(color);
   g.fill3DRect(0, 0, width - insets.right, insets.top, true);
   g.fill3DRect(0, insets.top, insets.left, height - insets.top, true);
   g.fill3DRect(insets.left, height - insets.bottom, width - insets.left, insets.bottom, true);
   g.fill3DRect(width - insets.right, 0, insets.right, height - insets.bottom, true);
 }
 public Insets getBorderInsets(Component c) {
   return new Insets(top, left, bottom, right);
 }
 public boolean isBorderOpaque() {
   return true;
 }

} public class Main {

 public static void main(String[] a) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JButton button = new JButton("Aaaaaaaaaaa");
   button.setBorder(new SimpleBorder());
   frame.add(button);
   frame.pack();
   frame.setVisible(true);
 }

}

 </source>