GridData
のwidthHint
フィールドに制御幅を指定します。
簡単に言うと、これは次のようになります。
Text text = new Text(....);
GridData data = new GridData(SWT.BEGINNING, SWT.CENTER, false, false);
data.widthHint = 100; // Some width
text.setLayoutData(data);
あなたは文字の幅を指定する
data.widthHint = convertWidthInCharsToPixels(10); // Some number of characters
を使用することができますDialog
から派生したクラスでこれをやっている場合。
使用できるダイアログの外:
GC gc = new GC(text);
gc.setFont(text.getFont());
FontMetrics fontMetrics = gc.getFontMetrics();
data.widthHint = fontMetrics.getAverageCharWidth() * chars;
gc.dispose();
どのように私はconvertWidthInCharsToPixels(10)の同じ機能を実現することができ、派生ダイアログクラスなし –
が答えに文字幅カルクを行うためのコードを追加しました –