> SwingNode does not update its internal cache of Swing pref/max/min height and 
> widths when its JComponent content's corresponding size constraints are 
> updated. As such, it isn't resized to honor those size constraints. 
> 
> JLightweightFrame does install a PropertyChangeListener for "preferredSize", 
> "maximumSize", and "minimumSize" properties, but this only happens via a 
> ContainerListener which is not added until after the content has already been 
> added to the content pane, and since the application cannot call this methods 
> directly as per the documentation for the SwingNode.resize() method: 
> `Applications should not invoke this method directly. If an application needs 
> to directly set the size of the SwingNode, it should set the Swing 
> component's minimum/preferred/maximum size constraints which will be 
> propagated correspondingly to the SwingNode and it's parent will honor those 
> settings during layout.`
> 
> so the fix is to add the listener as soon as the component is added to the 
> JLightweightFrame's content.

Prasanta Sadhukhan has updated the pull request incrementally with one 
additional commit since the last revision:

  Revalidate component after add

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/15960/files
  - new: https://git.openjdk.org/jdk/pull/15960/files/4cbd291a..13dfe138

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15960&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15960&range=02-03

  Stats: 4 lines in 1 file changed: 3 ins; 1 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/15960.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15960/head:pull/15960

PR: https://git.openjdk.org/jdk/pull/15960

Reply via email to