<Swing Dev> [13] RFR JDK-8213535:Windows HiDPI html lightweight tooltips are truncated

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Apr 30 09:18:27 UTC 2020


On 4/29/20 8:29 pm, Prasanta Sadhukhan wrote:
>> I could understand that we need to use some specific GC instead of null(which is
>> the default), but a force to use GC instead of another non-null GC sounds not good, isn't it?
>>
> I couldn't get what you are trying to say...You have a problem with using getPreferredSize() in BasicToolTipUI#paint and you asked why can't we use the same setSize() as it is now. I found we cannot use that because JPanel.setSize() is wrong because it's GC was null when the "size" was calculated.

As I mentioned, in the fix you do not replace the null value, but replace any value if they are not equal to the current screen, is that intentionally?

  852             if (component.getGraphicsConfiguration() !=
  853                     contents.getGraphicsConfiguration()) {
  854                 AWTAccessor.getComponentAccessor().
  855                         setGraphicsConfiguration((Component) component,
  856                                           contents.getGraphicsConfiguration());
  857             }

If we fix the JPanel's GC with the default GC (the same way we fix ToolTip's GC) then we can continue to use setSize() in paint. If you do not have problem with how we fix JTooltip's GC ,then what is the problem with fixing JPanel's GC?

It is unclear why we need to change GC of the panel. In the case of TIP it is needed to calculate the size of the text which is set to the TIP, but the panel does not have any text so why the GC of the panel matters?


-- 
Best regards, Sergey.


More information about the swing-dev mailing list