title: paintComponent method doesn't display anything on JLabel?
body: <p>I am trying to show a histogram for a image in jlabel, but its not working.</p>
  
  <pre><code>//hist : array containing histogram values
  //wid: width of image
  //ht: height of image
  mylabel.add(new showData(hist,wid,ht));
  </code></pre>
  
  <p>The code that I am using to display histogram is:</p>
  
  <pre><code>class showData extends JLabel{
  int w,h;
  int hist[] = new int[256];
  int max_hist=0;
  public showData(int[] histValue,int w, int h) {
      System.arraycopy(histValue, 0, hist, 0, 256);
      this.w = w;
      this.h = h;
      for (int i = 0; i &lt; 256; i++) {
          if(hist[i]&gt;max_hist)
              max_hist=hist[i];
      }
  }
  
  
  @Override
  protected void paintComponent(Graphics g) {
  super.paintComponent(g);
  
  int x = (w - 256) / 2;
  int lasty = h - h * hist[0] / max_hist;
  for (int i=0; i&lt;256; i++, x++) {
    int y = h - h * hist[i] / max_hist;
    g.setColor(new Color(i, i, i));
    g.fillRect(x, y, 1, h);
    g.setColor(Color.red);
    g.drawLine(x-1,lasty,x,y);
    lasty = y;
  }
  }
  }
  </code></pre>
  
  <p>When debugged, I found that showData() method was getting invoked, but paintComponent() doesn't. Why is it so? The Jlabel 'mylabel' doesn't show anything?</p>