title: Functional transparency on mac but not windows?
body: <p>Searching stackoverflow for the answer to this question only led me to other questions asking how to accomplish transparency on one or the other, none that came up had the issue of transparency functioning on one, but not the other.
  I'm sure by now you've been able to figure out the issue, but i'll explain in a little more depth... A friend and I are working on a java application and on running, a launcher is brought up. He uses a mac, and the JFrame was gotten to be transparent, however when I sync'd the project to my computer; A windows PC, The background of the JFrame was visible and the graphics on top flashed, kind of like a strobe light.</p>
  
  <p>If anyone could provide any kind of insight it would be greatly appreciated, and if more information needs to be provided, I will try to go through program more deeply, and get more info.</p>
  
  <pre><code>private void setUpWindow(int width, int height) {
  
      setIconImage(images.get(1));
      setSize(width, height);
      setUndecorated(true);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
      setBackground(new Color(0,255,0,0));
      setLayout(new BorderLayout());
  
      addMouseListener(this);
      setResizable(false);
      setLocationRelativeTo(null);
  
      addComponents();
      requestFocus();
      setVisible(true);
  
  }
  
  private void addComponents() {
      setContentPane(new BackPanel());
      getContentPane().setBackground(Color.BLACK);
      setLayout(new BorderLayout());
  
      panel.setSize(screenSize);
      add(panel);
  }
  </code></pre>
  
  <p>Window size is 1000x600</p>
  
  <pre><code>public class BackPanel extends JPanel {
  
      public BackPanel() {
          setOpaque(false);
          setVisible(true);
      }
  
      @Override
      protected void paintComponent(Graphics g) {
          super.paintComponent(g);
  
      Graphics2D overGraphics2D = (Graphics2D)g.create();
  
      overGraphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.0f));
      overGraphics2D.setColor(Color.BLACK);
      overGraphics2D.fill(getBounds());
      overGraphics2D.dispose();
      }
  }
  public class DrawingPanel extends JPanel
  {
      public DrawingPanel()
      {
          setVisible(true);
      }
  
      @Override
      protected void paintComponent(Graphics g)
      {
          super.paintComponent(g);
          refreshTimer.schedule(new refreshTimer(), 1);
      }
  }
  </code></pre>
  
  <p>The referred refresh timer has a delay of '1' so that it is started when the launcher is drawn.</p>
  
  <p>Also, ideas from this; <a href="https://stackoverflow.com/questions/11703794/how-to-set-jframe-background-transparent-but-jpanel-or-jlabel-background-opaque">how to set JFrame background transparent but JPanel or JLabel Background opaque?</a> were used in setting up the transparency.</p>