public void paintIcon(Component c,
Graphics g,
int x,
int y) {
g.translate(x, y);
// Draw edges of the disks
g.setColor(MetalLookAndFeel.getPrimaryControlInfo());
// top disk
g.drawLine(1,4, 1,5); // left
g.drawLine(2,3, 3,3);
g.drawLine(4,2, 11,2); // top
g.drawLine(12,3, 13,3);
g.drawLine(14,4, 14,5); // right
g.drawLine(12,6, 13,6);
g.drawLine(4,7, 11,7); // bottom
g.drawLine(2,6, 3,6);
// middle disk
g.drawLine(1,7, 1,8); // left
g.drawLine(2,9, 3,9);
g.drawLine(4,10, 11,10); // bottom
g.drawLine(12,9, 13,9);
g.drawLine(14,7, 14, 8); // right
// bottom disk
g.drawLine(1,10, 1,11); // left
g.drawLine(2,12, 3,12);
g.drawLine(4,13, 11,13); // bottom
g.drawLine(12,12, 13,12);
g.drawLine(14,10, 14,11); // right
// Draw the down right shadows
g.setColor(MetalLookAndFeel.getControlShadow());
// top disk
g.drawLine(7,6, 7,6);
g.drawLine(9,6, 9,6);
g.drawLine(10,5, 10,5);
g.drawLine(11,6, 11,6);
g.drawLine(12,5, 13,5);
g.drawLine(13,4, 13,4);
// middle disk
g.drawLine(7,9, 7,9);
g.drawLine(9,9, 9,9);
g.drawLine(10,8, 10,8);
g.drawLine(11,9, 11,9);
g.drawLine(12,8, 13,8);
g.drawLine(13,7, 13,7);
// bottom disk
g.drawLine(7,12, 7,12);
g.drawLine(9,12, 9,12);
g.drawLine(10,11, 10,11);
g.drawLine(11,12, 11,12);
g.drawLine(12,11, 13,11);
g.drawLine(13,10, 13,10);
// Draw the up left highlight
g.setColor(MetalLookAndFeel.getControlHighlight());
// top disk
g.drawLine(4,3, 5,3);
g.drawLine(7,3, 9,3);
g.drawLine(11,3, 11,3);
g.drawLine(2,4, 6,4);
g.drawLine(8,4, 8,4);
g.drawLine(2,5, 3,5);
g.drawLine(4,6, 4,6);
// middle disk
g.drawLine(2,7, 3,7);
g.drawLine(2,8, 3,8);
g.drawLine(4,9, 4,9);
// bottom disk
g.drawLine(2,10, 3,10);
g.drawLine(2,11, 3,11);
g.drawLine(4,12, 4,12);
g.translate(-x, -y);
}
|