@Override
	public void paint(Graphics g) {
		g.setColor(super.getBackground());
		g.fillRect(0, 0, this.getWidth(), this.getHeight());
		if(autosize)
		{
			if(mouseOver)
			{
				if(!selected)
				{
					Image tmp = this.icon_hover.getImage().getScaledInstance(this.getWidth(), this.getHeight(), java.awt.Image.SCALE_SMOOTH);				
					g.drawImage(new ImageIcon(tmp).getImage(), 0, 0, null);
				}
				else
				{
					Image tmp = this.alt_icon_hover.getImage().getScaledInstance(this.getWidth(), this.getHeight(), java.awt.Image.SCALE_SMOOTH);				
					g.drawImage(new ImageIcon(tmp).getImage(), 0, 0, null);
				}
			}
			else
			{
				if(!selected)
				{
					Image tmp = this.icon.getImage().getScaledInstance(this.getWidth(), this.getHeight(), java.awt.Image.SCALE_SMOOTH);				
					g.drawImage(new ImageIcon(tmp).getImage(), 0, 0, null);
				}
				else
				{
					Image tmp = this.alt_icon.getImage().getScaledInstance(this.getWidth(), this.getHeight(), java.awt.Image.SCALE_SMOOTH);				
					g.drawImage(new ImageIcon(tmp).getImage(), 0, 0, null);
				}
			}
		
		}
		else
		{
			if(mouseOver)
			{
				g.drawImage(this.icon_hover.getImage(), 0, 0, null);
			}
			else
			{
				g.drawImage(this.icon.getImage(), 0, 0, null);
			}
		}
	}