1 30 package com.genimen.djeneric.ui; 31 32 import java.awt.Color ; 33 import java.awt.Component ; 34 import java.awt.Graphics ; 35 36 import javax.swing.Icon ; 37 import javax.swing.SwingConstants ; 38 39 public class ArrowIcon implements Icon , SwingConstants 40 { 41 private int width = 9; 42 private int height = 18; 43 44 private int[] xPoints = new int[4]; 45 private int[] yPoints = new int[4]; 46 47 public ArrowIcon(int direction) 48 { 49 if (direction == LEFT) 50 { 51 xPoints[0] = width; 52 yPoints[0] = -1; 53 xPoints[1] = width; 54 yPoints[1] = height; 55 xPoints[2] = 0; 56 yPoints[2] = height / 2; 57 xPoints[3] = 0; 58 yPoints[3] = height / 2 - 1; 59 } 60 else 61 { 62 xPoints[0] = 0; 63 yPoints[0] = -1; 64 xPoints[1] = 0; 65 yPoints[1] = height; 66 xPoints[2] = width; 67 yPoints[2] = height / 2; 68 xPoints[3] = width; 69 yPoints[3] = height / 2 - 1; 70 } 71 } 72 73 public int getIconHeight() 74 { 75 return height; 76 } 77 78 public int getIconWidth() 79 { 80 return width; 81 } 82 83 public void paintIcon(Component c, Graphics g, int x, int y) 84 { 85 int length = xPoints.length; 86 int adjustedXPoints[] = new int[length]; 87 int adjustedYPoints[] = new int[length]; 88 89 for (int i = 0; i < length; i++) 90 { 91 adjustedXPoints[i] = xPoints[i] + x; 92 adjustedYPoints[i] = yPoints[i] + y; 93 } 94 95 if (c.isEnabled()) 96 { 97 g.setColor(Color.black); 98 } 99 else 100 { 101 g.setColor(Color.gray); 102 } 103 104 g.fillPolygon(adjustedXPoints, adjustedYPoints, length); 105 } 106 } | Popular Tags |