In che modo Java calcola la spaziatura della linea dei caratteri? (Calcola la spaziatura tra 2 linee in tempi New Roman)

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

  •  29-07-2022
  •  | 
  •  

Domanda

Quindi sto creando un'interfaccia estremamente variabile in cui anche il carattere deve quasi essere variabile (solo fidati di me, ne ho bisogno in modo che funzioni su ogni risoluzione) ma ovviamente ci sono più righe se il testo, dove c'è spazio tra il linee separate.

Dopo alcuni provati ho scoperto che lo spazio tra un carattere non è statico (ad esempio 2 pixel), quindi deve essere una percentuale del carattere completo (ad esempio, la percentuale è del 25% e la dimensione del carattere è di 40 pixel , rispetto alla spaziatura è di 10 pixel) o una sorta di formula.

Dopo alcuni lavori di ricerca non sono riuscito a trovare nulla sulla spaziatura di un carattere, quindi ho pensato che fosse Java specifico. Ne dubito, però. Dal momento che Java non ha un metodo in cui puoi cambiare questa spaziatura (per quanto ho potuto trovare).

Quindi la mia domanda è: esiste un modo per cambiare o conoscere la spaziatura tra 2 righe di Times New Roman Text?

Il problema più grande è che ho bisogno di saperlo per creare il carattere ... Nel caso fosse necessario la formula: FontSize = (myTextArea.getheight ()-([Fontascend]+[fontDescent])*21)/22

Ps sto usando un jtextrea e preferisco non usare un jeditorpane

È stato utile?

Soluzione

Forse questo è quello che stai cercando?

myTextArea.getFontMetrics().getHeight()

getFontMetrics è un Metodo su JComponent che ti dà un FontMetrics oggetto che ha un getHeight() metodo.

Altri suggerimenti

La spaziatura tra le righe dipende dal fatto che la linea di testo abbia o meno discendenti.

Leggi l'introduzione al Classe di fontmetrics Per tutto quello che non hai mai voluto sapere sull'ascesa e sulla discesa.

Sembra che con il mio problema specifico (dove devo creare un carattere e ho bisogno di quello stesso carattere per poterlo creare) le uniche opzioni sono quella di utilizzare un jeditorpane e utilizzare CSS per impostare la spaziatura su un valore specifico che i può usare nella mia formula o per utilizzare l'algebra per ottenere il giusto valore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top