<AWT Dev> Request for Review: 7170655 frame size change does not follow label font change
Sergey.Bylokhov at oracle.com
Tue May 22 12:42:06 PDT 2012
It`s strange to me that the component size depends on the sequence of
paint events and I`ve looked deeper. And I`ve found that the main
problem is that XLabelPeer updates its caches (cachedFontMetrics and
oldfont) in the paintPeer(). So when we postpone the paint,
frame.pack()->...->getMinimumSize() uses old caches and when we paint in
a place, getMinimumSize() uses correct values.
22.05.2012 18:23, Sergey Bylokhov wrote:
> Hi, Jonathan,
> Looks like this bug is duplicate of
> And the reason of the issue is that we post UpdateEvent in
> target.repaint() in XLabelPeer.setFont(), but we should paint native
> part of the component in place and then post PaintEvent.
> - To fix  we can replace target.repaint() to repaint() in
> setFont(). Does it solve your issue?
> 22.05.2012 11:47, Jonathan Lu wrote:
>> Hi awt-dev,
>> Here's a patch for bug 7170655, could anybody please help to take a
>> The problem is that painting event from EDT during painting handling
>> does not get processed immediately, so leave a lag to the user. My
>> solution here is to coalesce and dispatch the new paint event right
>> after it was posted. This happens only to AWT components.
Best regards, Sergey.
More information about the awt-dev