java中如何根据字符串长度来调整文本框大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何根据字符串长度来调整文本框大小相关的知识,希望对你有一定的参考价值。

java jsp中根据字符串长度来调整文本框大小,可以通过javascript拿到文本框的id,动态设置文本框的大小,示例如下:

<!Doctype html PUBLIC "-//W3c//DTD Html 1.0 Transitional//EN"> 
<html> 
<head> 
<title>文本框宽度自动适应文本宽度 </title> 
</head> 
<script type="text/javascript"> 
function changeInputlength(cursor) 
 
var getcount=document.getElementById("countFont"); 
var getText=document.getElementById("text"); 
getcount.innerHTML=\'<font>第\'+(parseInt(getText.value.length)+1)+\'个字符</font>\'; 
cursor.size=getText.value.length+2; 
 
</script> 
<body> 
请输入字符:<input type="text" size="3" id="text" onkeydown="changeInputlength(this);"/> 
<span id="countFont"></span> 
</body> 
</html>
参考技术A $("#文本框id").attr("length",获取后台传来的值的长度);

追问

能在详细些么 多谢了

追答

你前台和后台用的是什么技术在开发啊!

追问

dwz+springmvc

参考技术B lz试试看 别人帮忙回答的
<!Doctype HTML PUBLIC "-//W3c//DTD Html 1.0 Transitional//EN">
<html>
<head>
<title>文本框宽度自动适应文本宽度 </title>
</head>
<script type="text/javascript">
function changeInputlength(cursor)

var getcount=document.getElementById("countFont");
var getText=document.getElementById("text");
getcount.innerHTML='<font>第'+(parseInt(getText.value.length)+1)+'个字符</font>';
cursor.size=getText.value.length+2;

</script>
<body>
请输入字符:<input type="text" size="3" id="text" onkeydown="changeInputlength(this);"/>
<span id="countFont"></span>
</body>
</html>追问

分肯定是你的了 但是我还有一个问题请教 如果只是查看数据呢

追答

我喜欢用struts2标签 等到数据库上面的值

追问

已经完成了 谢谢 struts2泄露密码漏洞哦 亲

本回答被提问者采纳
参考技术C 你可以从java获取 字符串长度 然后传到前台,再在前台用js得到这个值 然后通过js来控制文本框的长度追问

求js,在网上找了好多天了都没有

追答

先用js 获取那个文本框 这个没有问题吧
var length=长度值*15;
$('#文本框id').attr('size',长度值)
不行就试试
$('#文本框id').attr('style','width:'+length+'px;')

追问

如果只是读取文本框的值呢??

追答

那有什么关系 也没有通过光标去调用事件呀

你把这几行js代码让页面加载完成就去执行呀

追问

已经完成了 谢谢

参考技术D 根据键盘按下事件,判断输入的字符串长度,然后调整文本框大小追问

如果数据是只读的呢

追答

那就直接判断value长度啊

如何根据字符串长度和标签大小调整标签的字体大小

【中文标题】如何根据字符串长度和标签大小调整标签的字体大小【英文标题】:How to adjust font size of a label according to length of string and label size 【发布时间】:2015-01-10 13:34:31 【问题描述】:

我有一个设置大小 (300 x 300) 的多行标签。

我想根据标签文本的长度和标签的大小以编程方式调整标签的字体大小。

以下是 2 个具有不同长度文本字符串的相同大小标签的示例

【问题讨论】:

请展示您已经尝试自己解决这个问题。 您可以根据分配给标签的字符串长度更改字体大小。您有以编程方式设置字体大小的方法。 【参考方案1】:

请参阅NSString.boundingRectWithSize:options:attributes:。这里需要逐步减小字体大小,直到字符串适合原始帧。

var paragraph = NSMutableParagraphStyle()
let layout = [NSFontAttributeName:NSFont.systemFontOfSize(0), NSParagraphStyleAttributeName: paragraph, ]
paragraph.lineBreakMode = NSLineBreakMode.ByWordWrapping
var a = NSString(string: "My long text")
let rect = NSMakeSize(30, 20)
let bb = a.boundingRectWithSize(rect, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: layout)

将上述内容放在 Playground 中并修改 rect 和字体,看看会发生什么。

【讨论】:

【参考方案2】:

我知道这个问题很老但是....

只需使用选项 AutoShrink 并在 Attributes Inspector 中设置最小字体大小/比例,它将尽可能大地缩放字体以适应标签的大小。

【讨论】:

以上是关于java中如何根据字符串长度来调整文本框大小的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中获取文本的字体和大小特定长度?

如何根据文本的长度自动调整固定 DIV 中的文本大小?

如何在 Xcode 4 中正确创建调整为文本长度的 UIButton?

根据文本长度调整快餐栏消息的大小[重复]

如何根据文本长度或背景图像调整按钮宽度

根据文本调整 UIButton 大小的最简单方法