<Swing Dev> [10] RFR JDK-8178025:HiDPI with non-integer scale factor - SPANs in HTML are rendered overlapping each other
Alan Snyder
javalists at cbfiddle.com
Tue Oct 24 13:07:04 UTC 2017
I cannot see any code that replaces the graphics configuration based on the screen where the window is displayed, so maybe this is a feature not currently supported.
Perhaps GraphicsDevice.setFullScreenWindow() can do this.
Looking at the code, I see that setting the graphics configuration calls addNotify() which changes the “ancestor” property. I assume that is what you are referring to.
Alan
> On Oct 23, 2017, at 11:06 PM, Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com> wrote:
>
> Whatever testing I have done, propertyChange gets called during. If you have any test/steps which changes GC at "later" stage, please provide and I will see if it does not call propertyChange.
>
> On 10/24/2017 11:13 AM, Alan Snyder wrote:
>> You’re guessing? Really?
>>
>>> On Oct 23, 2017, at 10:19 PM, Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>>
>>> I would guess so as "ancestor" listener is to support notification when changes occur to a JComponent or one of its ancestors.
>>>
>>> Regards
>>> Prasanta
>>> On 10/23/2017 7:45 PM, Alan Snyder wrote:
>>>> Does it handle the case where the graphics configuration is later changed?
>>>>
>>>> Alan
>>>>
>>>>
>>>>> On Oct 22, 2017, at 11:23 PM, Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On 10/19/2017 3:42 PM, Prasanta Sadhukhan wrote:
>>>>>>
>>>>>>
>>>>>> On 10/19/2017 3:49 AM, Sergey Bylokhov wrote:
>>>>>>> On 17/10/2017 03:48, Prasanta Sadhukhan wrote:
>>>>>>>> It seems for JLabel, Component.updateGraphicsData() with proper GraphicsConfiguraiton is never called which it does for JTextComponent or JDialog. Do you know why? Because of this, correct FRC is not created.
>>>>>>>> I am not sure what else I can do to create correct FRC.
>>>>>>>
>>>>>>> But at some point we will get a correct GraphicsConfiguraiton for a component, right? It should be called for the window and child when we show the window on the screen, when we move the window to another screen, etc.
>>>>>>>
>>>>>>>
>>>>>> Yes, it seems to be called when JLabel is added to JFrame but not before.
>>>>>> Span is calculated in GlyphPainter1.getSpan() which is called when JLabel is created and
>>>>>> as it seems, not when JLabel is added to JFrame (which is when we get the correct graphics configuration and therefore correct transform).
>>>>>>
>>>>>> So, we need to make sure spans are recalculated when the JLabel is added to frame, which is what modified webrev does by calling JLabel.updateUI()
>>>>>> http://cr.openjdk.java.net/~psadhukhan/8178025/webrev.01/ <http://cr.openjdk.java.net/%7Epsadhukhan/8178025/webrev.01/>
>>>>>>
>>>>> Modified webrev to only update html renderer when JLabel is added to frame by listening to property "ancestor" which implies component is added/made visible, at which point correct graphics configuration is set.
>>>>> http://cr.openjdk.java.net/~psadhukhan/8178025/webrev.02/ <http://cr.openjdk.java.net/%7Epsadhukhan/8178025/webrev.02/>
>>>>>
>>>>> Regards
>>>>> Prasanta
>>>>>> Regards
>>>>>> Prasana
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20171024/79c5c69f/attachment.html>
More information about the swing-dev
mailing list