There are several issues which deal with border rendering. The first one was JDK-8279614, it dealt with EtchedBorder.
The next one isJDK-8015739. It uses the same approach. Now that two borders are fixed, it is time to refactor the approach to avoid duplicate code.
I propose adding a utility method to SwingUtilities3:
1. Reset the transform;
2. Call the passed interface* to render the unscaled border;
3. Restore the transform.
It will unify border rendering. Other border types will use the utility method.
* The method which renders the border with unscaled Graphics could be a private method in the calling class, method reference could be passed to the utility method.
The next one is
I propose adding a utility method to SwingUtilities3:
1. Reset the transform;
2. Call the passed interface* to render the unscaled border;
3. Restore the transform.
It will unify border rendering. Other border types will use the utility method.
* The method which renders the border with unscaled Graphics could be a private method in the calling class, method reference could be passed to the utility method.
- blocks
-
JDK-8294484 MetalBorder's FrameBorder & DialogBorder have border rendering issues when scaled
- Resolved
- duplicates
-
JDK-8294921 Background color visible at edges of EtchedBorder
- Closed
-
JDK-8307447 EtchedBorder inset by 1 pixel
- Closed
- relates to
-
JDK-8282958 Rendering Issues with Borders on Windows High-DPI systems
- Resolved
-
JDK-8279614 The left line of the TitledBorder is not painted on 150 scale factor
- Resolved
-
JDK-8015739 Background of JInternalFrame is located out of JInternalFrame
- Resolved
(1 relates to, 2 links to)