Mega Code Archive

 
Categories / Java by API / Javax Swing Border
 

Implements Border

import java.awt.Color; import java.awt.Component; 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);   } }