public class cButton extends javax.swing.JButton { String iconname; boolean fit; cButton(String name) { super(name); //setBorder(new javax.swing.border.EmptyBorder(0,0,0,0)); setBorder(new javax.swing.border.EtchedBorder()); } cButton(String name, boolean border) { super(name); setMargin(new java.awt.Insets(1, -1, 1, -1)); if (border) setBorder(new javax.swing.border.EtchedBorder()); else { //setBorder(null); //new javax.swing.border.EmptyBorder(0,0,0,0)); } } cButton(//javax.swing.ImageIcon icon, String iconname, boolean border, boolean fit) { //super(icon); this.iconname = iconname; this.fit = fit; assert(border); //setMargin(new java.awt.Insets(1, 10, 1, 10)); // ?? // if (icon != null && fit) // this.image = icon.getImage(); //result = new JButton( icon ); //result.setBorderPainted( false ); //result.setContentAreaFilled( false ); // //width = icon.getIconWidth(); //height = icon.getIconHeight(); //result.setPreferredSize( new Dimension( width, height ) ); if (border) setBorder(new javax.swing.border.EtchedBorder()); else { //setBorder(null); //new javax.swing.border.EmptyBorder(0,0,0,0)); } } private java.awt.Image image; //@Override protected void paintComponent(java.awt.Graphics g) { if (iconname != null) { javax.swing.ImageIcon icon = ObjEditor.GetIcon(iconname); if (icon == null) setName(iconname); else { if (fit) this.image = icon.getImage(); else setIcon(icon); } iconname = null; } if (image != null) { //if (getWidth() > image.getWidth(null) + 8) { g.drawImage(image, 0,0, this.getWidth()-1, this.getHeight()-1, this); } } else super.paintComponent(g); } }