問題タブ [thinlet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
90 参照

java - AWT:コンポーネントの寸法をすぐに計算します

私は現在、(かなり古い)アプリケーションのバグを修正しています:

これには、遅延読み込み機能とクイック検索テキストフィールドを持つツリーが含まれます。次のシナリオを想定します。

  1. 誰かがクイック検索テキストフィールドに文字列を入力します
  2. これにより、クエリがバックグラウンドでサーバーに送信され、入力された名前で使用可能なツリーノードが検索され、ドロップダウンスタイルで提供されます。
  3. ユーザーはドロップダウンリストからアイテムを選択します。
  4. 選択した要素へのパスにあるツリー内のすべてのノードが展開され、レイジーロードツリーがロードされます...まあ...ノードの束。
  5. ツリー(スクロールバーがあります)がスクロールし、選択した要素が表示されます。

手順1から4は問題なく機能しますが、手順5は、ツリーが要素を遅延ロードする必要がなく、以前にツリーを既にロードしている場合にのみ機能します。

しばらくデバッグした後、これはスクロールする量を計算するコードがツリーノードを表すAWT要素の次元を使用しているためだと思いました。ただし、要素が遅延ロードされた場合、ディメンションはまだ計算されていないため、コードは無効になります。寸法計算はリペイント方法で行われると思います。またはとにかく:手遅れです。

AWTにコンポーネントサイズをすぐに計算させるにはどうすればよいですか?

このコードは、AWTの上にThinletを使用しています。