On Wed, 25 Nov 2020 18:06:10 GMT, Jonathan Vusich <github.com+31666175+jonathanvus...@openjdk.org> wrote:
>> As noted in the corresponding JBS issue, `Axis` does not properly compute >> its preferred height when `autoRanging` is turned off. The simplest fix >> seems to be changing `CategoryAxis` so that `tickLabelRotation` is set to 90 >> degrees if there is not enough room for the category labels to layout >> horizontally. This fixes the fact that the axis labels are truncated and >> also ensures that the chart does not leave unused space from the layout >> calculations. `CategoryAxis` is already setting the `categorySpacing` >> property when `autoRanging` is off, so this seems to be an appropriate fix. > > Jonathan Vusich has updated the pull request incrementally with one > additional commit since the last revision: > > Unrotate labels if there is enough space for them modules/javafx.controls/src/main/java/javafx/scene/chart/CategoryAxis.java line 381: > 379: } > 380: } > 381: if (!isAutoRanging()) > setTickLabelRotation(tickLabelRotation); At first, I thought this setTickLabelRotation() call violates the method javadoc above. On a second look, I found that the javadoc is applicable only if AutoRanging() is true. Method calls - calculateNewSpacing() and calculateNewFirstPos() also set properties if AutoRanging is false. Hence, this fix seems OK to me. modules/javafx.controls/src/main/java/javafx/scene/chart/CategoryAxis.java line 48: > 46: import javafx.util.Duration; > 47: > 48: import com.sun.javafx.binding.Logging; This looks unused import. Please remove it. ------------- PR: https://git.openjdk.java.net/jfx/pull/342