私はここで独特の問題を抱えています。PDA/電話での使用を目的とした RAP アプリケーションがありますが、小さなブラウザー ウィンドウに表示すると、フォーム上のすべてのテキスト ボックスが高すぎます (本来の高さの約 2 倍)。
コードをステップ実行しました (フォームは GridLayout を使用し、列数 = 1、列を等しくする = false)、ブラウザー ウィンドウが小さすぎる場合、TextSizeDetermination.getCharHeight() メソッドが正しくないフォント サイズを返すことがわかりました。ウィンドウが大きい場合は 13px、ウィンドウが小さすぎる場合は 26px (ちょうど 2 倍)。
興味深いことに、ウィンドウが小さすぎる場合、そのメソッドの probeStore.containsProbeResult(font) は true を返し、probeStore.getProbeResult(...).getSize().y をフォント サイズに使用するようです。それ以外の場合、ウィンドウが大きい場合は false を返し、TextSizeEstimation.getCharHeight(...) を使用します。
これを回避するためのポインタを1つか2つ持っている人はいますか?
適切なサイズのウィンドウを持つダイアログ:
代替テキスト http://70.38.7.140/tmp/Screenshot1.png
小さなウィンドウでのダイアログ: