gpt4 book ai didi

java - 如何根据要显示的文本定义 SWT 中文本的长度?

转载 作者:行者123 更新时间:2023-12-02 04:20:26 25 4
gpt4 key购买 nike

我有一个文本,它将显示不同长度的不同数据。最初我使用固定长度的文本框。但是,显然它不起作用。然后,我尝试获取文本的长度,使用该长度作为 Text 的宽度,如下所示 -

textName = new Text(composite, SWT.BORDER);
String myText = tree.getSelection()[0].getText();
int length = myText.length();
textName.setBounds(76, 28, length, 21);
textName.setText(myText);

但是,我发现SWT中字符串的长度和文本字段的宽度有很大不同。那么,有没有办法解决这个问题呢?显然,我可以为宽度设置更高的值。但是,我认为这不是一个好的解决方案。

最佳答案

您可以通过以下方式计算当前字体大小和类型的字符串大小:

GC gc = new GC(textName);
Point textSize = gc.textExtent(myText);
gc.dispose();

textSize 为您提供文本的大小(以像素为单位)。然后您可以确定要设置的文本控件的大小。

关于java - 如何根据要显示的文本定义 SWT 中文本的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com