加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为swt中的多行文本设置要显示的行数

发布时间:2020-11-17 11:08:27 所属栏目:Java 来源:互联网
导读:我正在为TextArea使用以下 ToolBar bar = new ToolBar(box,SWT.NONE);ToolItem item = new ToolItem(bar, SWT.SEPARATOR);Text text = new Text(bar, SWT.BORDER | SWT.MULTI);item.setWidth(width);item.setControl(tex

我正在为TextArea使用以下

ToolBar bar = new ToolBar(box,SWT.NONE);
ToolItem item = new ToolItem(bar,SWT.SEPARATOR);
Text text = new Text(bar,SWT.BORDER | SWT.MULTI);
item.setWidth(width);
item.setControl(text);

GridData data = new GridData();
data.verticalAlignment = SWT.CENTER;
data.grabExcessHorizontalSpace = true;
data.grabExcessVerticalSpace = true;
text.setLayoutData(data);

我想显示一个多行文本框,目前它接受多行文本,但一次只显示一行.

任何想法如何设置要显示的行数?

谢谢.

解决方法

您可以设置像素高度:
/* Set the height to 75 pixels */
data.heightHint = 75;

但是,您还可以根据字符行的数量设置高度,但是您必须做一些措施来衡量字符高度.您需要构建图形上下文(GC)来测量文本范围.

例如:

GC gc = new GC(text);
try
{
    gc.setFont(text.getFont());
    FontMetrics fm = gc.getFontMetrics();

    /* Set the height to 5 rows of characters */
    data.heightHint = 5 * fm.getHeight();
}
finally
{
    gc.dispose();
}

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读