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(); } (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 暂停定时器,然后继续
- Java定时任务:利用java Timer类实现定时执行任务的功能
- Spring 报错:元素 context:component-scan 的前缀 context
- java – EJB容器是否驻留在所有应用程序服务器中. EJB容器深
- 浅谈java中Math.random()与java.util.random()的区别
- java – Spring文件上传没有绑定到model属性对象
- java – Spring MVC中的自定义HttpMessageConverter
- java – 如何通过改造将Map参数或对象传递给POST请求?
- Spring整合Quartz实现定时任务调度的方法
- 如何在Java Swing中获取面板的所有组件?