MacOS Swing Look and Feel
We improved the support for standard MacOS LaF in our Swing UI and VisionX. The LaF has a lot of rendering problems. We tried to use another LaF implementation but had other problems. So we decided to keep the standard Java MacOS LaF.
The problems
- The InternalFrame border problem
- The field border problem
A simple JTextField has a 5 pixel focus border. This is horrible because the focus is about 2 pixel. The other problem is that a JTextArea wrapped in a JScrollPane doesn't have the 5 pixel border. This makes it hard to create nice looking layouts.
We fixed this problem:
Looks better. One problem is that the JScrollPane doesn't paint the focus if the JTextArea has the focus. This is a LaF problem and we didn't find a workaround for this problem.
- Application Menubar
Standard Java appliacations show the menubar in the same frame
If you set the system property:
System.setProperty("apple.laf.useScreenMenuBar", "true"); - Comboboxes
The height of Standard Comboboxes is wrong:
We fixed the problem as good as possible:
- VisionX Toolbar height
The toolbar height was wrong because of layout calculation problems:
We fixed the problem and the toolbar height is correct:
- VisionX Wizard gaps
The image gaps in VisionX wizards was not recognized:
It looks better without gaps:
- Wrong button rendering
If you had a button without an image and a button with an image, the height of the button without image was higher than the button with an image. This is a LaF rendering bug:
The fonts are also different. We didn't know why there has to be such a difference, but we fixed the problem in Swing UI:
the menu will be placed in the menu bar of MacOS:
We fixed the problem that setting the menu to null will keep the menu as it was.
All changes are available in our nightly JVx builds