Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- */
- package customGui;
- import gui.SkinListerPanel;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Insets;
- import java.awt.MouseInfo;
- import java.awt.RenderingHints;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import javax.swing.border.AbstractBorder;
- /**
- * @author Nico
- *
- */
- public class ImageBorder extends AbstractBorder implements MouseListener
- {
- private static final long serialVersionUID = 321403610852781775L;
- private static final Insets inset = new Insets(18,8,8,8);
- private String _text;
- /**
- *
- */
- public ImageBorder(String text)
- {
- _text = text;
- }
- /* (non-Javadoc)
- * @see javax.swing.border.Border#getBorderInsets(java.awt.Component)
- */
- @Override
- public Insets getBorderInsets(Component arg0)
- {
- return inset;
- }
- /* (non-Javadoc)
- * @see javax.swing.border.Border#isBorderOpaque()
- */
- @Override
- public boolean isBorderOpaque()
- {
- return false;
- }
- /* (non-Javadoc)
- * @see javax.swing.border.Border#paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)
- */
- @Override
- public void paintBorder(Component component, Graphics graph, int posX, int posY,
- int width, int height)
- {
- Graphics2D graph2d = (Graphics2D)(graph.create());
- // Set rendering hints for a smooth display of the text and the shape
- graph2d.addRenderingHints( new RenderingHints( RenderingHints.KEY_ANTIALIASING,
- RenderingHints.VALUE_ANTIALIAS_ON ));
- graph2d.addRenderingHints(new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING,
- RenderingHints.VALUE_TEXT_ANTIALIAS_ON));
- Font textFont = new Font("Dialog", Font.BOLD, 12);
- FontMetrics metrics = component.getFontMetrics(textFont);
- if (isInComponentBounds(component, width, height))
- {
- graph2d.setColor(new Color(0xB0CFFC).darker().darker());
- }
- else
- {
- graph2d.setColor(new Color(0xB0CFFC));
- }
- graph2d.drawRoundRect(posX +7 , posY+7, width-8, height-8, 11, 11);
- graph2d.setColor(component.getBackground());
- graph2d.drawLine(posX + 7 + 8 -1,posY+7, posX + 7 + 8 + metrics.stringWidth(_text) +1, posY+7);
- graph2d.setColor(Color.DARK_GRAY);
- graph2d.setFont(textFont);
- graph2d.drawString(_text, posX + 7 + 8, posY + 7 + 5 );
- graph2d.dispose();
- }
- /**
- *
- */
- private boolean isInComponentBounds(Component comp, int width, int height)
- {
- int mouseX =MouseInfo.getPointerInfo().getLocation().x;
- int mouseY =MouseInfo.getPointerInfo().getLocation().y;
- int x = (int)comp.getLocationOnScreen().getX();
- int y = (int)comp.getLocationOnScreen().getY();;
- if (mouseX <= (x+width) && (mouseX >= x)
- && (mouseY >= y) && (mouseY <= (y+height)))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- /* (non-Javadoc)
- * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseClicked(MouseEvent arg0)
- {}
- /* (non-Javadoc)
- * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseEntered(MouseEvent arg0)
- {
- SkinListerPanel.getInstance().getInputPanel().repaint();
- }
- /* (non-Javadoc)
- * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseExited(MouseEvent arg0)
- {
- SkinListerPanel.getInstance().getInputPanel().repaint();
- }
- /* (non-Javadoc)
- * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
- */
- @Override
- public void mousePressed(MouseEvent arg0)
- {}
- /* (non-Javadoc)
- * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseReleased(MouseEvent arg0)
- {}
- }
Add Comment
Please, Sign In to add comment