protected synchronized void paintComponent(Graphics g2) {
			if(!animate_) {
				return;
			}
			
			super.paintComponent(g2);
			Graphics2D g2D = (Graphics2D)g2; 
			g2D.setFont(grFont);
			
			double timeSpan = settings.getTimeSpan();
                				         				
			panelHeight_ = pnLeft.getHeight() - 100 -  SHIFT_Y - SHIFT_BOTTOM;
			int minWidth = pnLeft.getWidth() - 50 - 2 * SHIFT_X;
			panelWidth_ = minWidth; 
			
			double sdWindowSize = ResourceWindow.this.slidingWindowSize; 
			if(Double.compare(sdWindowSize, Double.MAX_VALUE) != 0) {
				panelWidth_ = (int)(minWidth * (settings.getTimeSpan() / sdWindowSize)); 
			}
			
			panelWidth_ = (panelWidth_ < minWidth) ? minWidth : panelWidth_;  

			scaleY_ = panelHeight_ / (float) numPE;
			scaleX_ = panelWidth_ / (float) (timeSpan);

			scaleY_ *= sliderY.getValue() * (float) 0.1;
			scaleX_ *= sliderX.getValue() * (float) 0.1;

			super.setPreferredSize(new Dimension((int) (timeSpan * scaleX_) + 2 * SHIFT_X,
					(int) ((numPE) * scaleY_) + SHIFT_Y + SHIFT_BOTTOM));

			drawSchedulingQueue(timeSpan, g2D);
			drawGridsAndAxes(timeSpan, g2D);
			super.revalidate();
		}