QA@IT

org.eclipse.swt.widgets.Text のワードラップの指定

5732 PV

再び仕事で java を触る機会が得られたため 最近 SWTの勉強を始めました。

SWT の org.eclipse.swt.custom.StyledText には #setWordWrap() が存在して、
動作中にワードラップの調整ができるようですが、
org.eclipse.swt.widgets.Text には #setWordWrap() が見当たらず
コンストラクタの属性で SWT.WRAP を指定する/しないの調整しかできないような気がしています。

この認識は正しいでしょうか?
あるいは、別の何等かの調整の方法は存在するのでしょうか?

SWTは Windowsプラットフォームの 3.7.2 を利用しています。

回答

通常SWTのスタイルは変更できないのでその認識で正しいと思います。

余談ですが単に SWT.WRAPを指定しただけでは折り返さない場合があるらしく、
setLayoutDataで以下の様に設定した方が良いという話を見かけましたのでご参考までに。
(検証していないので、ほかの設定が不完全なためなだけかもしれません。)

text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

https://vzurczak.wordpress.com/2012/08/28/force-a-swt-text-to-wrap/

編集 履歴 (0)
  • ご回答ありがとうございます。メモ帳を作っていて、その実装に迷っていたのです。余談で触れていただいた内容も非常に参考になりました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。