package net.sf.openrocket.gui.components;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.JButton;
/**
* A JButton that appears flat until you roll over it.
*
* @author Sampo Niskanen <sampo.niskanen@iki.fi>
*/
public class FlatButton extends JButton {
public FlatButton() {
super();
initialize();
}
public FlatButton(Icon icon) {
super(icon);
initialize();
}
public FlatButton(String text) {
super(text);
initialize();
}
public FlatButton(Action a) {
super(a);
initialize();
}
public FlatButton(String text, Icon icon) {
super(text, icon);
initialize();
}
private void initialize() {
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseExited(MouseEvent e) {
flatten();
}
@Override
public void mouseEntered(MouseEvent e) {
raise();
}
});
flatten();
}
private void flatten() {
this.setContentAreaFilled(false);
this.setBorderPainted(false);
}
private void raise() {
this.setContentAreaFilled(true);
this.setBorderPainted(true);
}
}