¿Cómo calcula Java el espacio de la línea de fuente? (Calcule el espacio entre 2 líneas en tiempos New Roman)

StackOverflow https://stackoverflow.com/questions/19845263

  •  29-07-2022
  •  | 
  •  

Pregunta

Así que estoy creando una interfaz extremadamente variable en la que incluso la fuente casi tiene que ser variable (solo confía en mí, lo necesito para que funcione en cada resolución) pero obviamente, hay múltiples líneas si hay texto, donde hay espacio entre el espacio entre el espacio entre el espacio entre el líneas separadas.

Después de que se intentaron, descubrí que el espacio entre una fuente no es estático (por ejemplo, 2 píxeles), por lo que tiene que ser un porcentaje de la fuente completa (por ejemplo, el porcentaje es del 25% y el tamaño de la fuente es de 40 píxeles , luego el espacio es de 10 píxeles) o algún tipo de fórmula.

Después de un trabajo de búsqueda, no pude encontrar nada sobre el espacio de una fuente, así que pensé que era específica de Java. Sin embargo, dudo de esto. Dado que Java no tiene un método en el que pueda cambiar este espacio (por lo que puedo encontrar).

Entonces, mi pregunta es, ¿hay alguna forma de cambiar o conocer el espacio entre 2 líneas de veces el texto nuevo y romano?

El mayor problema es que necesito saber esto para crear la fuente ... en caso de que necesite la fórmula: fontSize = (mytexTarea.getheight ()-([fontascend]+[fontdescent])*21)/22

PD: Estoy usando un jtexTarea y prefiero no usar un jeditorpane

¿Fue útil?

Solución

¿Quizás esto es lo que buscas?

myTextArea.getFontMetrics().getHeight()

getFontMetrics es un Método en JComponent que te da un FontMetrics objeto que tiene un getHeight() método.

Otros consejos

El espacio entre líneas depende de si la línea de texto tiene descendientes o no.

Lea la introducción al Clase de fontmetrics Por todo lo que nunca quisiste saber sobre el ascenso y el descenso.

Parece que con mi problema específico (donde tengo que crear una fuente y necesito la misma fuente para poder crearlo), las únicas opciones son usar un JeditorPane y usar CSS para establecer el espacio en un valor específico que yo puede usar en mi fórmula o para usar álgebra para obtener el valor correcto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top