title: setOpaque() method
body: <p>I would like to know what setOpaque() method do...</p>
  
  <p>here is a part of small program:</p>
  
  <pre><code>    public class Buttons extends JFrame implements ActionListener
      {
  
       private JButton button;
       private JLabel label;
       private JTextArea text;
       private String t;
       public Buttons()
       {
        super("TESTING");
        label = new JLabel("Hello!!!!");
        button = new JButton("Color Change");
        text = new JTextArea("Test");
        setLayout(new FlowLayout());
        label.setOpaque(true);
        add(button);
        add(label);
        add(text);
  
              LabelHandler labelHandler = new LabelHandler();
  
        button.addActionListener(this);
              label.addMouseListener(labelHandler);
  
        setSize(300,200);
        setVisible(true);
       }
  
       public void actionPerformed(ActionEvent e)
       {
        if (e.getSource()==button)
        {
         label.setBackground(Color.red);
        }
        if (e.getSource()==text)
        {
         if (t == "\n")
         {
          setText(t);
          label.getText();
         }
        }
       }
  
  
  
      class LabelHandler extends MouseAdapter
      {
       public void mouseEntered(MouseEvent e)
       {
    label.setBackground(Color.GREEN);
       }
   }
  </code></pre>
  
  <p>Without the setOpaque it wont paint the label. Why?
  thanks in advance.</p>