stop flickering annotationPanel
[jalview.git] / src / jalview / appletgui / AnnotationPanel.java
index d4024ba..17c0c8a 100755 (executable)
@@ -196,13 +196,13 @@ public class AnnotationPanel
     if(av.hasHiddenColumns)\r
           res = av.getColumnSelection().adjustForHiddenColumns(res);\r
 \r
-    if (row > -1 && res < aa[row].annotations.length && aa[row].annotations[res] != null)\r
-    {\r
-      StringBuffer text = new StringBuffer("Sequence position " + (res + 1) +\r
-                                           "  " +\r
-                                           aa[row].annotations[res].description);\r
-      ap.alignFrame.statusBar.setText(text.toString());\r
-    }\r
+        if (row > -1 && res < aa[row].annotations.length && aa[row].annotations[res] != null)\r
+        {\r
+          StringBuffer text = new StringBuffer("Sequence position " + (res + 1));\r
+          if (aa[row].annotations[res].description != null)\r
+            text.append("  " + aa[row].annotations[res].description);\r
+          ap.alignFrame.statusBar.setText(text.toString());\r
+        }\r
   }\r
 \r
   public void update(Graphics g)\r
@@ -213,7 +213,8 @@ public class AnnotationPanel
   public void paint(Graphics g)\r
   {\r
 \r
-    imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;\r
+    imgWidth = getSize().width;\r
+        //(av.endRes - av.startRes + 1) * av.charWidth;\r
 \r
     if (image == null || imgWidth != image.getWidth(this))\r
     {\r
@@ -224,6 +225,7 @@ public class AnnotationPanel
       fastPaint = false;\r
     }\r
 \r
+\r
     if (fastPaint)\r
     {\r
       g.drawImage(image, 0, 0, this);\r
@@ -231,9 +233,11 @@ public class AnnotationPanel
       return;\r
     }\r
 \r
+    gg.setColor(Color.white);\r
+    gg.fillRect(0, 0, getSize().width, getSize().height);\r
     drawComponent(gg, av.startRes, av.endRes + 1);\r
-    g.setColor(Color.white);\r
-    g.fillRect(0, 0, getSize().width, getSize().height);\r
+\r
+\r
     g.drawImage(image, 0, 0, this);\r
   }\r
 \r
@@ -282,13 +286,15 @@ public class AnnotationPanel
   {\r
     g.setFont(av.getFont());\r
 \r
+\r
+    g.setColor(Color.white);\r
+    g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getSize().height);\r
+\r
+\r
     if (fm == null)\r
       fm = g.getFontMetrics();\r
 \r
 \r
-      g.setColor(Color.white);\r
-      g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getSize().height);\r
-\r
       if ((av.alignment.getAlignmentAnnotation() == null) ||\r
               (av.alignment.getAlignmentAnnotation().length < 1))\r
       {\r
@@ -552,7 +558,7 @@ public class AnnotationPanel
                 else\r
                  {\r
                    g.fillRect(lastSSX, y + 4 + iconOffset,\r
-                              (x+1) * av.charWidth - lastSSX, 7);\r
+                              x * av.charWidth - lastSSX, 7);\r
                  }\r
                 break;\r
 \r