Java中带对齐文本的多行标签/区域/窗格
我有一个有趣的任务。考虑一个未知长度的<代码>字符串内容< /代码>。我想用带有文本的Java中带对齐文本的多行标签/区域/窗格,java,swing,jlabel,jtextarea,jtextpane,Java,Swing,Jlabel,Jtextarea,Jtextpane,我有一个有趣的任务。考虑一个未知长度的字符串内容< /代码>。我想用带有文本的字体显示内容。我需要知道如果我指定宽度,这将占用多少高度。我想在屏幕中间显示这个文本,但是它必须有一个宽度代码>宽度< /> > 因此,我想做如下的事情 //create a JTextPane or JTextArea pane.setText(content); pane.setFont(font); //set the width of the pane here //get the height of the
字体显示内容
。我需要知道如果我指定宽度
,这将占用多少高度。我想在屏幕中间显示这个文本,但是它必须有一个宽度<>代码>宽度< /> >
因此,我想做如下的事情
//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);
我如何才能做到这一点?通常,对正是以另一种方式进行的
文本具有固定的高度,可以通过以下方式之一调整文本的宽度:
- 在单词之间加空格。更简单,但视觉上不吸引人
- 在字母之间加空格。这就是所谓的
如果调整高度使宽度正确,文本中的每一行都将有不同的高度。对齐:左?对吗?居中填满另请参见TextLayout
上的内容。请参见以了解“对齐”文本是什么。是否指定宽度?看起来您需要根据要显示的字体大小和字符串来计算宽度。我正在指定宽度,并需要确定高度。我确信这必须通过()或()来解决几次