*/\r
public void paintComponent(Graphics g)\r
{\r
- g.setColor(Color.white);\r
- g.fillRect(0, 0, getWidth(), getHeight());\r
+ g.setColor(Color.white);\r
+ g.fillRect(0, 0, getWidth(), getHeight());\r
\r
- if (fastPaint)\r
- {\r
- g.drawImage(image, 0, 0, this);\r
- fastPaint = false;\r
+ if (fastPaint)\r
+ {\r
+ g.drawImage(image, 0, 0, this);\r
+ fastPaint = false;\r
+ return;\r
+ }\r
\r
- return;\r
- }\r
+ imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;\r
\r
- imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;\r
+ if (image != null && imgWidth == image.getWidth())\r
+ {\r
+ //This will be called by a mouse over, tool tip etc\r
+ // no need to redraw whole image\r
+ g.drawImage(image, 0, 0, this);\r
+ fastPaint = false;\r
+ return;\r
+ }\r
\r
- image = new BufferedImage(imgWidth, ap.annotationPanel.getHeight(),\r
- BufferedImage.TYPE_INT_RGB);\r
- gg = (Graphics2D) image.getGraphics();\r
- gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,\r
- RenderingHints.VALUE_ANTIALIAS_ON);\r
+ image = new BufferedImage(imgWidth, ap.annotationPanel.getHeight(),\r
+ BufferedImage.TYPE_INT_RGB);\r
+ gg = (Graphics2D) image.getGraphics();\r
+ gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,\r
+ RenderingHints.VALUE_ANTIALIAS_ON);\r
\r
- gg.setFont(av.getFont());\r
+ gg.setFont(av.getFont());\r
+ fm = gg.getFontMetrics();\r
\r
- drawComponent(gg, av.startRes, av.endRes + 1);\r
- g.drawImage(image, 0, 0, this);\r
+ drawComponent(gg, av.startRes, av.endRes + 1);\r
+ g.drawImage(image, 0, 0, this);\r
}\r
\r
/**\r
gg.translate(-transX, 0);\r
\r
fastPaint = true;\r
+\r
repaint();\r
+\r
}\r
\r
/**\r
*/\r
public void drawComponent(Graphics2D g, int startRes, int endRes)\r
{\r
- if(fm==null)\r
- fm = g.getFontMetrics();\r
-\r
g.setColor(Color.white);\r
g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getHeight());\r
\r