import java.awt.Color; import javax.swing.ImageIcon; import javax.swing.border.EtchedBorder; public class cToggleButton extends javax.swing.JToggleButton { cToggleButton(String name, boolean enabled) { super(name, enabled); //setBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0)); setBorder(new javax.swing.border.EtchedBorder(8)); } cToggleButton(ImageIcon icon, boolean enabled) { super("", enabled); this.image = icon.getImage(); iconWidth = icon.getIconWidth(); setMargin(new java.awt.Insets(11, 11, 11, 11)); //setBorder(javax.swing.BorderFactory.createLineBorder(Color.BLACK)); // setBorder(new javax.swing.border.EmptyBorder(8, 0, 8, 24)); // top, left, bottom, right // setBorder(new javax.swing.border.EtchedBorder(EtchedBorder.RAISED, Color.BLACK, Color.BLACK)); } private java.awt.Image image; private int iconWidth; @Override protected void paintComponent(java.awt.Graphics g) { super.paintComponent(g); if (image != null) { //if (getWidth() > image.getWidth(null) + 8) { g.drawImage(image, this.getWidth()/2 - 12, this.getHeight()/2 - 12, this); g.drawRect(2, 2, this.getWidth()-5, this.getHeight()-5); } } } }