public void makeVisible(Component com) {
        
        if(TargetSet) {
            return;
        }
        
        int ht = com.getHeight(), vy = com.y;
        int WindowTransition = parent.TranselateY;
        int ActualPosition = WindowTransition + vy;
        
        if(ActualPosition + ht > y+height) {
            
            if(ActualPosition < y) {
                return;
            }
            
            parentTarget = y + height - (ht + vy);
            int target = y - (int)((parentTarget)/ratio);
            
          //  System.out.println("\nTargetY:"+parentTarget);
            Target = target;
            moveTo = TARGET;
            TargetSet = true;
            
            int interval = (Target - my)/3;
            scrollInterval = (interval > 0) ? interval : 1;
            
        }
        else if(ActualPosition < y) {
            
            if(com.getHeight() > height) {
                return;
            }
            
            parentTarget = y - vy;
            Target = y - (int)(parentTarget/ratio);
            moveTo = TARGET;
            TargetSet = true;
         //   System.out.println("TargetY:"+parentTarget);
            int interval = (my - Target)/3;
            scrollInterval = (interval > 0) ? interval : 1;
        }
        
    }