package rebelsky.swing; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JButton; import javax.swing.JLabel; /** * Buttons that paint themselves in interesting ways */ public class PaintedButton extends JLabel { public PaintedButton(String name) { super(name); this.setMinimumSize(new Dimension(100,150)); this.setPreferredSize(new Dimension(100,150)); } // PaintedButton(string) public void paintComponent(Graphics g) { // super.paintComponent(g); System.out.print(this.getText() + ":"); System.out.print(" BOUNDS[" + this.getBounds()+ "]"); System.out.println(" CLIP[" + g.getClipBounds()+ "]"); g.setColor(Color.BLUE); g.fillRect(this.getX(), this.getY(), this.getWidth(), this.getHeight()); g.setColor(Color.RED); g.fillOval(this.getX(), this.getY(), this.getWidth(), this.getHeight()); } // paintComponent(Graphics) } // class PaintedButton