2017-03-14 21 views
3

setText()フィールドのいずれかまたは両方にTextフィールドを使用すると、フィールドの長さがフィールドのサイズに変更されます。それをどうやって防ぐのですか?明確にするためテキストを設定した後にSWTテキストボックスサイズを維持する

inner = new Composite(middle, SWT.NONE); 
inner.setLayout(new GridLayout(5, false)); 

chkbxBtn = new Button(inner, SWT.CHECK); 
chkbxBtn.setText("Check box button: "); 
chkbxBtn.setSelection(false); 

new Label(inner, SWT.NONE).setText("Text field 1: "); 
startCol = new Text(inner, SWT.BORDER | SWT.NONE); 

new Label(inner, SWT.NONE).setText("Text field 2: "); 
endCol = new Text(inner, SWT.BORDER | SWT.NONE); 
+0

あなたは[MCVE](http://stackoverflow.com/help/mcve)を提供できますか? –

+0

フルコードを表示できますか? –

+1

あなたにはあなたが新しいことが分かりました。 答えが問題を解決したと感じる場合は、緑色のチェックマークをクリックして「受け入れ済み」とマークしてください。これにより、まだ回答のない古い投稿に焦点を当てることができます。 –

答えて

2

、SWTは、再レイアウトがない(一般的にまたはコントロール)、テキスト(または他のプロパティ)Text制御を変更した後。あなたのコードまたは再レイアウトを引き起こすサイズ変更イベントです。あなたがコントロールが予め設定された大きさを持つようにしたい、とその親がGridLayoutを使用している場合、あなたはこのようなwidthHintGridDataを設定することができます

:しかし

GridData gridData = new GridData(); 
gridData.widthHint = ... 
text.setLayoutData(gridData); 

は、それは通常しようとして悪い考えですウィジェットのサイズを制御します。したがって、レイアウト戦略がUIデザインのベストプラクティスと一致することを確認してください。

関連する問題