Skip to content

Instantly share code, notes, and snippets.

@dreger
Last active December 11, 2015 19:08
Show Gist options
  • Save dreger/4646029 to your computer and use it in GitHub Desktop.
Save dreger/4646029 to your computer and use it in GitHub Desktop.
Making the JButtons suck less. Metro-style.
import java.awt.Color;
import java.awt.Font;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
// DregerButton.java
// Copyright Kyle Dreger 2012
// To make JButtons suck less
// https://gist.github.com/4646029
public class DregerButton extends JButton implements MouseListener{
Font defaultFont = new Font("Gill Sans MT",Font.BOLD,14);
Color textColor = Color.decode("#ffffff");
Color backgroundColor = Color.decode("#000000");
Color hoverColor = Color.decode("#00aced");
public DregerButton(String s) {
s = s.toUpperCase();
this.setFocusPainted(false);
this.setText(s);
this.setBorder(null);
this.setForeground(textColor);
this.setBackground(backgroundColor);
this.setFont(defaultFont);
this.setOpaque(true);
addMouseListener(this);
}
public DregerButton(String s, Color backgroundColor, Color hoverColor) {
s = s.toUpperCase();
this.setFocusPainted(false);
this.setText(s);
this.setBorder(null);
this.setHoverColor(hoverColor);
this.setBackground(backgroundColor);
this.setFont(defaultFont);
this.setOpaque(true);
addMouseListener(this);
}
public void setBackgroundColor(Color color) {
backgroundColor = color;
}
public void setHoverColor(Color color) {
hoverColor = colorSubmitted;
}
@Override public void mouseClicked(MouseEvent me) {}
@Override public void mouseReleased(MouseEvent me) {}
@Override public void mousePressed(MouseEvent me) {}
@Override
public void mouseEntered(MouseEvent e) {
if (e.getSource()==this) {
this.setBackground(this.hover_color);
}
}
@Override
public void mouseExited(MouseEvent e) {
if (e.getSource()==this) {
this.setBackground(this.backgroundColor);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment