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

前端之家收集整理的这篇文章主要介绍了java – 为swt中的多行文本设置要显示的行数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为TextArea使用以下 @H_502_2@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);

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

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

谢谢.

解决方法

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

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

例如:

@H_502_2@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(); }

猜你在找的Java相关文章