Thanks a bunch you two. I don’t know if I should be happy or cry - if it’s only doing this in macOS Monterey, maybe I should wait another week to give the JDKs a chance to try the official version. Is there anyone else out there with Big Sur, could you give it a try? This way, I can pinpoint in my bug report which version it probably crept into the code base.
Thanks again for responding to my non-IDE post. Just don’t know other Java developers outside of Netbeans community :-) Tom On Oct 18, 2021 at 5:05:10 PM, Emilian Bold <emilian.b...@gmail.com> wrote: > I also don't see any problem on AdoptOpenJDK 11 / macOs Mojave. > > --emi > > On Tue, Oct 19, 2021 at 12:04 AM John Mc <mcdonnell.j...@gmail.com> 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 > > > > >