public void paintBorder(Component c,
Graphics g,
int x,
int y,
int w,
int h) {
Color background;
Color highlight;
Color shadow;
if (c instanceof JInternalFrame && ((JInternalFrame)c).isSelected()) {
background = MetalLookAndFeel.getPrimaryControlDarkShadow();
highlight = MetalLookAndFeel.getPrimaryControlShadow();
shadow = MetalLookAndFeel.getPrimaryControlInfo();
} else {
background = MetalLookAndFeel.getControlDarkShadow();
highlight = MetalLookAndFeel.getControlShadow();
shadow = MetalLookAndFeel.getControlInfo();
}
g.setColor(background);
// Draw outermost lines
g.drawLine( 1, 0, w-2, 0);
g.drawLine( 0, 1, 0, h-2);
g.drawLine( w-1, 1, w-1, h-2);
g.drawLine( 1, h-1, w-2, h-1);
// Draw the bulk of the border
for (int i = 1; i < 5; i++) {
g.drawRect(x+i,y+i,w-(i*2)-1, h-(i*2)-1);
}
if (c instanceof JInternalFrame &&
((JInternalFrame)c).isResizable()) {
g.setColor(highlight);
// Draw the Long highlight lines
g.drawLine( corner+1, 3, w-corner, 3);
g.drawLine( 3, corner+1, 3, h-corner);
g.drawLine( w-2, corner+1, w-2, h-corner);
g.drawLine( corner+1, h-2, w-corner, h-2);
g.setColor(shadow);
// Draw the Long shadow lines
g.drawLine( corner, 2, w-corner-1, 2);
g.drawLine( 2, corner, 2, h-corner-1);
g.drawLine( w-3, corner, w-3, h-corner-1);
g.drawLine( corner, h-3, w-corner-1, h-3);
}
}
|