Java JLabel宽度取决于文本长度
这里有一个Java JLabel宽度取决于文本长度,java,resize,jlabel,Java,Resize,Jlabel,这里有一个JLabel,它的文本是从一个文件中提取的字符串设置的,如下所示: Label lName = new JLabel("Charater Name: " + data[FileIO.NAME]); lName.setForeground(Color.WHITE); lName.setBounds(640 - 110, 5, 110, 30); add(lName); 由于名称可以是3个字母长到24个字母长,我不想使用固定的宽度,我
JLabel
,它的文本是从一个文件中提取的字符串设置的,如下所示:
Label lName = new JLabel("Charater Name: " + data[FileIO.NAME]);
lName.setForeground(Color.WHITE);
lName.setBounds(640 - 110, 5, 110, 30);
add(lName);
由于名称可以是3个字母长到24个字母长,我不想使用固定的宽度,我希望标签的宽度足够环绕文本,这样文本就不会被截断,但又不会浪费大量空间,我该怎么做
编辑:
JLabel的位置将根据其宽度以编程方式设置
目前我唯一的解决方案是将宽度设置为:
(int)(lName.getText().length()*(double)6.8)
在被切断之前,它会持续大约40个字母。我不知道你的意思是否相同,但这个链接提供了类似的解决方案。试着看一看。我以前看过这个,试过了,但它不符合我的要求。我想一定有办法做到这一点。如果我找到了,会告诉你的!我不知道你的意思是否相同,但这个链接提供了类似的解决方案。试着看一看。我以前看过这个,试过了,但它不符合我的要求。我想一定有办法做到这一点。如果我找到了,会告诉你的!