On 15-Apr-20 5:11 PM, Sergey Bylokhov wrote:
On 4/6/20 5:07 am, Prasanta Sadhukhan wrote:

              tip = insideComponent.createToolTip();
              tip.setTipText(toolTipText);
+
+            System.out.println("default gc " + gc.getDefaultTransform()); +            System.out.println("insideComponent GC " + insideComponent.getGraphicsConfiguration().getDefaultTransform()); +            GraphicsConfiguration oldConfig = tip.getGraphicsConfiguration(); +            System.out.println("tip oldgc " + tip.getGraphicsConfiguration()); +            GraphicsConfiguration newConfig = tip.getGraphicsConfiguration();
+            if (newConfig == null) {
+                newConfig = GraphicsEnvironment.getLocalGraphicsEnvironment().
+ getDefaultScreenDevice().getDefaultConfiguration();
+            }
+            System.out.println("newgc " + newConfig);
+            if (newConfig != null) System.out.println(" transform " + newConfig.getDefaultTransform()); +            tip.firePropertyChange("graphicsConfiguration", oldConfig, newConfig);
+
+
              size = tip.getPreferredSize();
+            System.out.println("tip preferredsize " + size);

I think it is necessary to inject the "insideComponent"'s GC to the tip somewhere in the .createToolTip() and use this GC by default in the tip, for the test we can try to override getGraphicsConfiguration() in tip and return component.getGraphicsConfiguration().

BTW did you notice that in the test when the size of the frame are changed from bigger to smaller by the "space" key the tooltip usually cut as well? Probably we need to change the type of the tip on the fly? from LW to HW?

Thanks for the suggestion. This approach of setting HW popup is more cleaner than 1st as there is no public setGraphicsConfiguration() to be used to set tip's GC with inideComponent's GC.

Also, the popupType will remain LW as we are only using it to create the tip but doing setPopupType() to LW after tooltip popup creation.

http://cr.openjdk.java.net/~psadhukhan/8213535/webrev.3/

Regards
Prasanta

Reply via email to