<AWT Dev> [9] Review Request: 8027324 The spec for Toolkit.setDynamicLayout() and Toolkit.isDynamicLayoutActive() needs to be clarified

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Mar 22 15:31:43 UTC 2016


On 22.03.16 10:35, Semyon Sadetsky wrote:
> 213      * by the underlying operating system and/or window manager).
> Note that on
>   214      * platforms where dynamic layout during resizing is not
> supported (or is
>   215      * always supported) by the OS/WM, ({@code
> isDynamicLayoutSet()}) property
>   216      * has no effect.
>
> Not sure that it is correct to talk about "effect" of a method that is
> not expected to change anything .

It affects behavior of the isDynamicLayoutActive();

> Usually it is told about effect of a
> change but the getter method is not the case.
> I might be wrong and this may have valid meaning in English.

This is about the beginning of the statement:
=============================================
   * Returns whether dynamic layout of Containers on resize is currently
   * active (both set in program ({@code isDynamicLayoutSet()}), and 
supported
   * by the underlying operating system and/or window manager). Note that on
   * platforms where dynamic layout during resizing is not supported (or is
   * always supported) by the OS/WM, ({@code isDynamicLayoutSet()}) property
   * has no effect.
=============================================
The method isDynamicLayoutActive() return true only if the dynamic 
layout is supported by the system and isDynamicLayoutSet() return true. 
But if dynamic layout during resizing is not supported (or is always 
supported) then isDynamicLayoutSet() has no effect to this 
method(isDynamicLayoutActive() where this documentation is placed).

I can change "has no effect" to "will be ignored"

>
> 50         t.setDynamicLayout(true);
>    51         if(!t.isDynamicLayoutSet()){
>    52             throw new RuntimeException("'true' expected but
> 'false' returned");
>    53         }
>
> The test fails in the reviewed scenario when setDynamicLayout(true) has
> no effect .

It has no effect to the layout, the method isDynamicLayoutSet() is 
always return the value which was set.

>
>
>
> On 9/23/2015 10:01 PM, Sergey Bylokhov wrote:
>> Hello.
>> Please review the fix for jdk9.
>>
>> We have 3 methods and one desktop property to support
>> behavior during resize of the window:
>> - Property "awt.dynamicLayoutSupported" describe support of this
>> feature by the current OS.
>> - Method isDynamicLayoutActive() describe: is this feature currently
>> active or not.
>> - isDynamicLayoutSet/setDynamicLayout is a possibility to change the
>> current state of the feature.
>>
>> The problem is that the method isDynamicLayoutActive() has no
>> description what happens if the OS supports(or nonsupports) the
>> feature, but the change of the state is not supported, which means
>> that the value, which was set in setDynamicLayout() is ignored.
>> Moreover this documentation states that isDynamicLayoutSet() is never
>> ignored.
>>
>> Documentation is updated using the same description as in
>> setDynamicLayout(); The existed test is updated to cover this situation.
>>
>> This bug causes a jck failure see JCK-7301760.
>> ccc request will be created after the technical review.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8027324
>> Webrev can be found at:
>> http://cr.openjdk.java.net/~serb/8027324/webrev.00
>>
>


-- 
Best regards, Sergey.


More information about the awt-dev mailing list