Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JLabel宽度取决于文本长度_Java_Resize_Jlabel - Fatal编程技术网

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个字母。

我不知道你的意思是否相同,但这个链接提供了类似的解决方案。试着看一看。我以前看过这个,试过了,但它不符合我的要求。我想一定有办法做到这一点。如果我找到了,会告诉你的!我不知道你的意思是否相同,但这个链接提供了类似的解决方案。试着看一看。我以前看过这个,试过了,但它不符合我的要求。我想一定有办法做到这一点。如果我找到了,会告诉你的!