X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureRenderer.java;h=fc31fdfe8b2139db0627b5b51a33c26320b67ccd;hb=6d5aff5f7ace98b6416c7e9dc2a8fdc6ad194902;hp=d21b39e433171a8ba1f6ae05496fe088ec7242d2;hpb=8c6a0091158548409984e31ffbb9d52516b95fa5;p=jalview.git diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index d21b39e..fc31fdf 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -27,6 +27,9 @@ public class FeatureRenderer implements RendererI while( e.hasMoreElements() ) { SequenceFeature sf = (SequenceFeature)e.nextElement(); + if(sf.getStart()>seq.getEnd()) + continue; + int fstart = seq.findIndex(sf.getStart())-1; int fend = seq.findIndex(sf.getEnd())-1; @@ -52,20 +55,21 @@ public class FeatureRenderer implements RendererI { for (int i = fstart; i <= fend; i++) { - try{ - g.setColor(Color.blue); + char s = seq.getSequence().charAt(i); + if( jalview.util.Comparison.isGap(s) ) + continue; + + g.setColor(Color.blue); g.fillRect( (i-start) * width, y1, width, height); g.setColor(Color.white); - char s = seq.getSequence().charAt(i); + FontMetrics fm = g.getFontMetrics(); int charOffset = (width - fm.charWidth(s)) / 2; int pady = height / 5; g.drawString(String.valueOf(s), charOffset + x1 + width * (i-start), y1 + height - pady); - - }catch(Exception ex){System.out.println(i+" "+fstart+" "+fend+" " +sf.getDescription()+" "+seq.getName()+" "+seq.getLength()); } } } }