Thanks again! I filed a bug report with Oracle about it. But Oracle initially only provides an internal review ID: 9071698.
Best, Tom On Oct 18, 2021 at 5:34:05 PM, Mark A. Flacy <mfl...@verizon.net> wrote: > Greetings, > > Big Sur, java 11, code works as expected. java 15 works as expected as > well. > > > -- > Mark A. Flacy > mfl...@verizon.net > > On Monday, October 18, 2021 4:04:02 PM CDT John Mc wrote: > > Hi Thomas, > > > I am running Catalina(10.15.7) and Amazon Corretto(15)[1], I used your code > > and didnt notice any problems, my cursor changed every time. > > > Hope this helps. > > > John > > > > > [1]: > > *Product Version:* Apache NetBeans IDE 12.5 > > > *Java:* 15.0.1; OpenJDK 64-Bit Server VM 15.0.1+9 > > > *Runtime:* OpenJDK Runtime Environment 15.0.1+9 > > > *System:* Mac OS X version 10.15.7 running on x86_64; UTF-8; en_GB (nb) > > > On Mon, 18 Oct 2021 at 21:28, Thomas Wolf <tjw...@gmail.com> wrote: > > > I previously posted about a problem I’m encountering with Java/Swing on > my > > > Mac - basically cursors stop switching after one switches to another > > > cursor > > > & back. I checked this problem as far back as I had JDKs for - so this > > > issue exists at least as far back as JDK 12. The one thing I don’t know > > > is > > > whether it’s to do with the macOS I am running - Monterey. > Unfortunately, > > > I don’t have a machine with BigSur or older. Do any of you? The code to > > > try is very simple: > > > > > > > > > public static void main(String[] args) { > > > SwingUtilities.invokeLater(new Runnable() { > > > > > > @Override > > > public void run() { > > > final JFrame f = new JFrame(); > > > f.setSize(400, 400); > > > f.setLocationRelativeTo(null); > > > Container c = f.getContentPane(); > > > JPanel p = new JPanel(new BorderLayout()); > > > c.add(p); > > > JButton b1 = new JButton("Busy"); > > > b1.addActionListener((ActionEvent e) -> { > > > > > > > f.getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)) > > > ; > > > > > > }); > > > JButton b2 = new JButton("Normal"); > > > b2.addActionListener((ActionEvent e) -> { > > > f.getGlassPane().setCursor(Cursor.getDefaultCursor()); > > > }); > > > p.add(b1, BorderLayout.NORTH); > > > p.add(b2, BorderLayout.SOUTH); > > > f.setVisible(true); > > > f.getGlassPane().setVisible(true); > > > } > > > }); > > > > > > } > > > > > > After you paste it into any .java file of your choosing (and fixing > > > imports), just run the file, click on the “Busy” button once, then on the > > > “Normal” button, and then one last time on “Busy”. On Linux and Windows, > > > the cursor changes each time. On Mac, the cursor doesn’t change to > “Busy” > > > the second time around :-( > > > > > > Unless you guys see anything wrong with this code, I will file a bug > > > report in Oracle’s Bug database. > > > > > > Thanks a bunch, > > > Tom > > > > > >