метод setOpaque () - PullRequest
       1

метод setOpaque ()

4 голосов
/ 29 июня 2010

Я хотел бы знать, что делает метод setOpaque () ...

является частью небольшой программы:

    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);
     }
 }

Без setOpaque он не будет рисовать метку.Зачем?заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 30 июня 2010

Непрозрачный флаг используется Swing ComponentUI, чтобы проверить, должны ли они рисовать фон или нет. Если вы установите цвет фона, но не наберете setOpaque(true), вы не увидите этот цвет bg.

5 голосов
/ 29 июня 2010

Вот некоторая информация: http://mindprod.com/jgloss/setopaque.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...