I have an interesting task. Consider a String contentwith unknown length. I'd like to display content with a Font font with Justified text. I need to know what height this would take up if I specify the width. I want to display this text in the middle of the screen but it must have a width of width.
Hence, I would like to do something such as the following.
//create a JTextPane or JTextArea
pane.setText(content);
pane.setFont(font);
//set the width of the pane here
//get the height of the full text block if its justified
pane.setLocation(screenWidth/2 - width/2, screenHeight/2, height/2);
How can I do this?
解决方案
Normally, justification is done the other way around.
The text has a fixed height, and you adjust the width of the text in one of the following ways:
Add spaces between the words. Easier, but not visually appealing.
Add space between the letters. This is called kerning.
If you adjust the height so that the width is correct, every line in your text will have a different height.