问题
I have an interesting task. Consider a String content
with 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?
回答1:
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.
来源:https://stackoverflow.com/questions/14105362/multi-line-label-area-pane-in-java-with-justified-text