*/\r
public void paintComponent(Graphics g)\r
{\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
+ g.setColor(Color.white);\r
+ g.fillRect(0, 0, getWidth(), getHeight());\r
\r
- return;\r
- }\r
+ if (fastPaint)\r
+ {\r
+ g.drawImage(image, 0, 0, this);\r
+ fastPaint = false;\r
+ return;\r
+ }\r
\r
- imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;\r
+ imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;\r
\r
+ if (image == null || imgWidth != image.getWidth())\r
+ {\r
image = new BufferedImage(imgWidth, ap.annotationPanel.getHeight(),\r
- BufferedImage.TYPE_INT_RGB);\r
+ BufferedImage.TYPE_INT_RGB);\r
gg = (Graphics2D) image.getGraphics();\r
gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,\r
- RenderingHints.VALUE_ANTIALIAS_ON);\r
+ RenderingHints.VALUE_ANTIALIAS_ON);\r
\r
gg.setFont(av.getFont());\r
+ fm = gg.getFontMetrics();\r
+ }\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