Java org.eclipse.swt.widgets.Text字符限制

Java org.eclipse.swt.widgets.Text字符限制,java,eclipse-plugin,Java,Eclipse Plugin,我正在使用org.eclipse.swt.widgets.Text 我在做什么 Text description = new Text(container, SWT.SINGLE); description.setEditable(false); description.setText("long string"); 我正在创建的向导中显示了大约一半的文本。我看到API中有一个名为LIMIT的静态int。我无法找到它在哪里声明文本可以容纳的字符数有预设。我想将其扩展到所需的字符数。Text.L

我正在使用org.eclipse.swt.widgets.Text 我在做什么

Text description = new Text(container, SWT.SINGLE);
description.setEditable(false);
description.setText("long string");
我正在创建的向导中显示了大约一半的文本。我看到API中有一个名为LIMIT的静态int。我无法找到它在哪里声明文本可以容纳的字符数有预设。我想将其扩展到所需的字符数。

Text.LIMIT(2147483647或2^31)是可输入文本小部件的最大字符数。对于每个版本的eclipse,该值都可以更改。

如上所述,Text.LIMIT是底层本机小部件实现的硬限制。可以使用Text.setTextLimit()将限制设置为另一个值,但不能大于Text.limit

可能您的文本没有显示,因为您使用的是单行文本。试试看

Text description = new Text(container, SWT.MULTI);

如果它也不起作用,请尝试另一个没有此限制的方法(例如StyledText)。

可能2147483647是字符限制?
limit
是0x7FFFFFFF,但在非常旧的Windows版本上,当它是0x7FFF时除外。因此我使用的是setText方法。文本长度约为100个字符。所以文本不是因为文本对象而被截断的?我在一个文本控件(Mac OS X)中只得到了200个字符。请注意,控件不会调整大小以显示长文本。因此文本框不够大,无法显示所有文本。当我将其设置为可编辑并启用时,我看到文本正在显示。我只需要将文本框变大。我想说,在使用带有
SWT.multi
样式位的多行文本时,这确实不起作用。查看源代码,仅当设置了
SWT.SINGLE
位(org.eclipse.SWT.gtk.linux.x86_64_3.105.3.v20170228-0512.jar)时才应用该限制。