On 11/25/2014 10:47 PM, AJ Gregory wrote:
If you run the class below on a RETINA MacBook Pro (OSX 10.10) the first
time you see the JWindow it's a white circle with NO shadow, but then later
when it calls setVisible(false) and setVisible(true) the circle has a
shadow when it's made visible again which isn't right...

I can't reproduce on non-retina (OSX 10.9) so wondering if it's a retina
only issue?

I can reproduce it on non-retina OSX 10.10 and it is not reproduced on my retina OSX 10.9.
    It seems that the problem relates to the OSX 10.10.

    Could you file an issue on it: http://bugs.java.com

  Thanks,
  Alexandr.


Same behavior for both Java 7u71 and 8u25...

Anybody else experience this and have a work around?

Seems like a bug for sure unless I'm missing something...

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TestMacShadow {
     public static void main(String[] args) {
         EventQueue.invokeLater(new Runnable() {
             public void run() {
                 final JWindow window = new JWindow() {
                     public void paint(Graphics g) {
                         g.setColor(Color.WHITE);
                         g.fillOval(0, 0, getWidth(), getHeight());
                     }
                 };

                 window.setBackground(new Color(0, 0, 0, 0));
                 window.setLocation(new Point(100, 100));
                 window.setSize(new Dimension(300, 300));
                 window.setAlwaysOnTop(true);
                 window.setVisible(true);

                 Timer t = new Timer(2000, new ActionListener() {
                     public void actionPerformed(ActionEvent actionEvent) {
                         window.setVisible(!window.isVisible());
                     }
                 });

                 t.setRepeats(true);
                 t.start();
             }
         });
     }
}

Reply via email to