On Fri, 3 Feb 2023 22:43:22 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:

>> FrameBorder and DialogBorder had border scaling issues similar to 
>> JInternalFrame. This fix addresses it by creating `AbstractMetalBorder` 
>> class within MetalBorder, that contains the common steps required for 
>> painting border for `FrameBorder`, `DialogBorder` and `InternalFrameBorder`. 
>> 
>> All 3 cases - JFrame, JDialog and JInternalFrame are combined into a single 
>> test case - `ScaledMetalBorderTest` and hence the older 
>> `InternalFrameBorderTest` which is no longer required, is deleted.
>
> Harshitha Onkar has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 10 additional 
> commits since the last revision:
> 
>  - review changes: AbstractMetalWindowBorder, strokeWidth rename
>  - Merge branch 'master' into MetalBorderRefactor_8294484
>  - minor change
>  - removed unused import
>  - added updateColor(), isActive() to MetalBorder
>  - test summary changes
>  - deleted InternalFrameBorderTest
>  - moved corner var to AbstractMetalBorder
>  - sealed abstract class, record changes
>  - initial commit, consolidated test case

Changes requested by aivanov (Reviewer).

src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBorders.java line 
281:

> 279: 
> 280:             // scaled thickness
> 281:             int thickness = (int) Math.ceil(4 * scaleFactor);

Suggestion:

            updateColors(c);

            // scaled thickness
            int thickness = (int) Math.ceil(4 * scaleFactor);
            g.setColor(background);

Setting the background color logically belongs to painting the bulk of the 
border rather than updating the colors.

src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBorders.java line 
376:

> 374:         public Insets getBorderInsets(Component c, Insets newInsets) {
> 375:             newInsets.set(4, 4, 4, 4);
> 376:             return newInsets;

For consistency with compositing the implementation, it should be:
Suggestion:

            return border.getInsets(newInsets);

-------------

PR: https://git.openjdk.org/jdk/pull/12391

Reply via email to