Correct. It causes i18n layout errors [https://bugs.openjdk.java.net/browse/JDK-8076164]. GlyphView calculates its minimum width using text wrapping, but it shouldn't do this for the TextField. In the View specs span calculation should be regulated by getSpanWeight()/getBreakWeight() methods, but in one of the previous GlyphView.getMinimumSize() fixes these checks were omitted. My 8076164 fix attempt according to the spec failed because many views behavior depends on some defaults of other views which are fixed long time ago. The previous fix attempt caused many regressions. In the new solution I moved the minimum width fix to the TextFileldUI to avoid any impacts on other views and components behavior.

--Semyon

On 9/10/2015 2:23 PM, Alexander Scherbatiy wrote:

The getMinimumSpan(axis) method is redirected to getPreferredSpan(axis) in the fix for GlyphView in the BasicTextFieldUI. Does it mean that GlyphView itself does not properly display some types of text?

  Thanks,
  Alexandr.

On 9/3/2015 4:08 PM, Semyon Sadetsky wrote:
Hello,

I have reworked the fix because more regressions was found.
Please look at the updated version:
http://cr.openjdk.java.net/~ssadetsky/8133108/webrev.02/

--Semyon


On 8/10/2015 5:39 PM, Alexander Scherbatiy wrote:
On 8/6/2015 7:46 PM, Semyon Sadetsky wrote:
Hello,

Please review fix for JDK9:
bug: https://bugs.openjdk.java.net/browse/JDK-8133108
webrev: http://cr.openjdk.java.net/~ssadetsky/8133108/webrev.01/

Could you look at the test javax/swing/JTextPane/JTextPaneDocumentAlignment.java
  It fails on my system with the suggested fix.

  Thanks,
  Alexandr.


This a regression from JDK-8132136 after which the GlyphView does not wrap text for the minimum width calculation by default anymore. InlineView as GlyphView descendant should take care about setting the right resize weight now. In the solution getResizeWeight() is overridden in InlineView to return the right weight according to the nowrap field. Test suite is added to check the right text positioning for wrap/nowrap styles in the JTextPane document.

--Semyon




Reply via email to