Как сделать внутреннюю конструкцию для Frame () с super ()? - PullRequest
2 голосов
/ 16 июля 2011

Как я могу сделать инициализацию для Frame (), пока он используется внутри super ()? Вроде правильного следования, чтобы кадр и все супер связанное имели цвет КРАСНЫЙ?

Примечание: в основном правая красная рамка не должна отображаться, потому что Color (r, g, b, ALPHA);

enter image description here

public class 999 extends Window 
{
  private JLabel label;
  private JButton button;
  private static final Canvas canvas = new Canvas();
  private static final Canvas canvas0 = new Canvas();
  private JLayeredPane layers;

  public 999() 
  {
        super(new Frame());
        // Please make this **TRANSPARENT**
        getOwner().setBackground( new Color(255, 0, 0, 0) ); 

        layers = new JLayeredPane();
        button = new JButton("close");

        this.setLayout (new BorderLayout ());     

        button.setBackground(Color.RED);
        button.setSize(200,200);
        button.setLocation(0,20);
        this.add("North", button);

        JPanel p = new JPanel();
        p.setOpaque(false); // transparent
        p.setBackground( new Color(255, 0, 0, 0) ); // transparent

        p.setSize(300, 200);
        p.setLocation(0, 0);
        p.add(new JButton("Test"));
        layers.add(p, new Integer(1));
        layers.setSize(400,300);
        layers.setLocation(400,50);

        layers.setOpaque(false); // transparent
        layers.setBackground( new Color(255, 0, 0, 0) ); // transparent
        this.add("North", layers);

        canvas.setSize(800,800);
        this.add("North",canvas);
        //AWTUtilities.setWindowOpacity(this, 0.2f); // Error in Linux

    }

    public static void main(String[] args) 
    {
      Window j = new 999();
      j.setVisible(true);
        ...
    }

}

1 Ответ

3 голосов
/ 16 июля 2011

Этот код действительно странный. Создайте кадр в другом месте и установите нужные значения, прежде чем передать его этому объекту. Или просто сделайте этот вызов в вашем конструкторе:

 getOwner().setBackground( new Color(255, 0, 0, 255) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...