package org.matveev.pomodoro4nb.controls;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JColorChooser;
/**
*
* @author Alexey Matveev
*/
public class ColoredButton extends RolloverButton {
private Color color = Color.WHITE;
public ColoredButton() {
setFocusPainted(false);
addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Color newColor = JColorChooser.showDialog(ColoredButton.this, "Select a color.", color);
if (newColor != null) {
color = newColor;
}
}
});
}
public Color getColor() {
return color;
}
public void setColor(Color color) {
this.color = color;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
final int width = getWidth();
final int height = getHeight();
final int offset = 5;
int rightCorner = width - 2 * offset;
int bottomCorner = height - 2 * offset;
if (rightCorner > 0 && bottomCorner > 0) {
final Color oldColor = g.getColor();
g.setColor(color);
g.fillRect(offset, offset, rightCorner, bottomCorner);
g.setColor(oldColor);
}
}
}