1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| void drawScale(Graphics2D g)
{
Rectangle r = this.getBounds();
r.x = 0;
r.y = 0;
AffineTransform tx = g.getTransform();
g.setColor(Color.BLACK);
// Draw the y axis
g.drawLine(r.x + leftOffset, r.y + topOffset, r.x+ leftOffset, r.y + r.height - bottomOffset);
for (int i = 0; i < 13; i++)
{
float yoffset = r.y + (r.height - bottomOffset) - (float)(r.height-verticalOffset)*( (float) i/12);
g.drawString(10*i+"%", r.x, (int) yoffset + 5);
g.drawLine(r.x + leftOffset - 3, (int) yoffset, r.x + leftOffset + 3, (int) yoffset);
}
// Draw the x axis
g.drawLine(r.x + leftOffset, r.y + r.height - bottomOffset, r.x + r.width - rightOffset, r.y + r.height - bottomOffset);
// draw a few dates
for (int i = 0; i < 24; i++)
{
float xratio = (float) i / 24;
float xoffsetf = leftOffset + (r.width - horizontalOffset) * xratio;
int xoffset = (int) xoffsetf;
Date currDate = new Date(1000*(startDrawTime + i*(endDrawTime - startDrawTime)/24));
if (i % 6 == 0)
{
String startDateString = currDate.getHours()+"h" + currDate.getMinutes();
g.drawString(startDateString,r.x + xoffset + 4, r.y + r.height - 15);
startDateString = currDate.getDate()+"/"+
(currDate.getMonth()+1)+"/"+
(currDate.getYear()+1900) ;
g.drawString(startDateString,r.x + xoffset +4, r.y + r.height - 5);
}
}
} |
Partager