javafx - how - Rotar la etiqueta 90 grados ocupa espacio horizontal innecesario
set stylesheet javafx (1)
Esta pregunta se basa en Javafx rotate Label issue , pero como esta publicación está desactualizada y no tiene una respuesta satisfactoria, me gustaría volver a mencionarla.
El problema es:
Al rotar una etiqueta para 90 o 270 grados, primero se trunca el texto porque no tiene el ancho mínimo correcto. Cuando establezco el ancho mínimo, el texto ya no se trunca.
Sin embargo, el ancho mínimo también se establece en la dirección horizontal, como se muestra a continuación:
A la izquierda está la situación tal como está ahora en Java 8u40, y en la derecha es cómo me gusta (y, en mi opinión, cuál es la forma más lógica).
Acabo de usar este código:
Label label = new Label("This is a label.");
label.setRotate(270);
label.setMinWidth(200);
He agregado la etiqueta a un AnchorPane
, que no es parte del problema, excepto yo. También probé la solución de @James_D ( https://community.oracle.com/thread/3514254 ), que tampoco funcionó para mí.
Entonces mi pregunta es:
¿Es este un error conocido y, de ser así, hay alguna posibilidad de que se solucione en el futuro? Además, ¿hay otra solución posible (además de colocar la etiqueta en una imagen)?
En mi opinión, es un error. Hice una prueba con una aplicación JavaFX con texto giratorio en Windows (ejecutando Oracle JavaFX, JDK1.8.0.60j y luego lo moví a Raspberry Pi. El Pi ejecutaba Open JavaFX. En Open JavaFX la rotación se realiza correctamente, mientras que el Oracle JavaFX muestra el comportamiento que describió aquí.