問題タブ [redraw]

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 に答える
1099 参照

apache-flex - コンポーネントにフォーカスを再描画させる

もう1つ「どうすればよいですか」という質問があります:)コンポーネントがあり、実行時にフォーカスカラーを変更したいとします。これがあなたのための例です(コンポーネントがフォーカスを失うのを防ぐためにボタンなどを除外しました。その場合、コンポーネントの色が完全に変わります):

私は何を持っていますか:タイマーが刻々と過ぎています。プロパティが変更されています(たとえば、ブラウザでタブを切り替えているときに、色が変更されたときに正しい状態をキャッチするだけです)。

必要なもの:validateこのフォーカスを魔法なしで再描画する方法(「 」で始まるすべてのメソッドを試しupdateDisplayList()ました。アプリケーション全体を呼び出してみましたstyleChanged。...aggrrhを呼び出してみました。..私はアイデアがありません:))。

何かご意見は?

いつものように、どんな助けでも大歓迎です:)

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

html - HTML キャンバス ピクセル バッファ

正しい用語はわかりませんが、GTK ではピクセル バッファーと呼ばれていたと思います。描画領域のすべてまたは一部を pixbuf にコピーし、後で全体をもう一度レンダリングするのではなく、pixbuf を画面にダンプすることができます。メニューバーを実装していますが、メニューバーがドロップダウンし、その下にあるすべてのものを覆い隠します。ただし、キャンバス全体を描画するのに数秒かかるので、ドロップダウンメニューによって隠されるすべてをコピーする正しい方法があるかどうか疑問に思っていました。ドロップダウンメニューが閉じられたら、画面に再描画します. これは関数で実行できるとcontext.getImageData()思いますが、非常に非効率的であると読みました。

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

apache-flex - FlexDataGridレンダリングの開始

いくつかの列がlabelFunctionを持つことができるDataGridがあります。labelFunctionの結果の性質は、問題のある形で変わる可能性があります(たとえば、フォーマットの適用、フォーマットのバイパス)。

新しいデータを取得するためにlabelFunctionが再度実行されるように、DataGridに表示されているアイテムを再レンダリングさせるにはどうすればよいですか。

invalidateDisplayList、validateNowを試し、DataGridにResizeEventsをディスパッチしてみました。失敗。

0 投票する
6 に答える
24847 参照

html - ウィンドウのサイズを変更するときにキャンバスがクリアされないようにする

Canvasタグ内に長方形を描画する簡単なアプリを作成しようとしています。Canvasのサイズをフルスクリーンに変更しましたが、ビューポートのサイズを変更すると、Canvasがクリアされます。私はそれがクリアされるのを防ぎ、その中にあるコンテンツを保持しようとしています。何か案は?

http://mediajux.com/experiments/canvas/drawing/

ありがとう!

0 投票する
3 に答える
8924 参照

iphone - ビューを再描画したい

ビューを再描画したい。ボタンをタッチすると、ビューが再描画される必要があります。(viewWillAppearを呼び出す必要があります)

ただし、viewのsetNeedDisplayメソッドはそれ自体をすぐに再描画しません。すぐに再描画する必要があるため、この方法は適していません。

viewControllerのビューのサブビューをすべて削除し、viewControllerのビューを他のビューに変更しようとしました。しかし、これらは機能しませんでした。(再描画しないでください)

急いであなたの助けが必要です。

読んでいただきありがとうございます。

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

java - Group.layout() は、変更されたグループに新しく追加されたフィールドを表示しませんか? (SWT初心者!)

私は SWT 開発に不慣れで、非常に単純な GUI ウィンドウを作成しようとしています (オンライン チュートリアルとサンプルを参照)。私の小さな GUI は文字列を受け取り、それを (解析ライブラリを使用して) 解析し、解析されたデータをグループ内のフィールドに表示します。

ここまではONE PASSで動作します。文字列を入力して [Parse It] をクリックすると、文字列が正しく解析され、入力テキスト ボックスとボタンの下のグループに対応するデータ フィールドが表示されます。これらのフィールドをクリアする「すべてクリア」ボタンがあります。「Parse It」をもう一度押すと、解析ロジックは実行されますが (コンソール出力から明らかなように)、UI にはフィールドが表示されません。(これまでのところ、これを回避するまで、固定幅の無線オプションのみを実装しています)。

その振る舞いは私を困惑させます。グループを破棄するだけではなく、グループ再作成コードをクリア ボタンの mouseUp に入れるなど、複数のことを試しました。グループの再作成を parse it ボタン アクション コードに入れてみました。(また、必要に応じて参照を渡して、それぞれに MouseListener のサブクラスを作成しようとしましたが、簡単にするために、すべてを anon 内部クラスに戻しました)。

group.layout() を使用し、再描画しません。この SWT 初心者に欠けているものは何ですか? きっとそれは超単純なものに違いない。MTIA!(コードが乱雑である場合はお詫びします - たくさん遊んでいます。)

コード:

コードを一般化して以下に示します。

0 投票する
3 に答える
1334 参照

apache-flex - 大規模な再描画が発生すると、FlexSparkItemRendererラベルが消えます

Googleマップ、面グラフ、リストを含むアコーディオンを備えたアプリケーションがあります。リスト内の選択が変更されると、アプリケーションはサーバーからデータをフェッチしてチャートとマップを更新し、ビューポート内にすべてのマーカーを含むようにマップを再配置し、SeriesEffectを開始してチャートデータの再描画をアニメーション化します。

ユーザーが選択範囲を変更し、マップとチャートの再描画中にリスト内のアイテムの上にマウスを置き続けると、アイテムレンダラーのラベルが消えます。

アイテムレンダラーコードは次のとおりです。

次のcssを使用してスタイルが設定されます。

予想される動作は、ラベルが常にレンダリングされることです。

で使ってみvalidateNow()ましたdataChange; cssのすべての状態を削除し、cssのコンポーネントタイプセレクターのみを使用します。LabelItemRendererのにスタイルを直接配置します。onを更新してFlexFrameworkを使用ToggleButtonする; スタイルプロパティに値が渡されていないことを確認し、状態セットがカバーした状態であることを確認し、更新中に色を設定しようとするためにオーバーライドします。ChangeWatcherLabel.textdataChangesetStyle()undefinedgetCurrentRendererState()updateDisplayList()Label

すべてのLabel再描画が完了した後でも、まだ消えて行方不明のままになります。アイテムを選択および選択解除すると、塗りつぶしが正しく変更されます。誰かがこの問題に遭遇したことがありますか、および/または誰かが私がまだ試みていない回避策を思い付くことができますか?

前もって感謝します...

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

animation - アニメーションコンテンツを含むCATiledLayer

CATiledLayerに支えられたこのUIViewがあります。私のセットアップは現時点ではかなりスムーズに機能しますが、このCATiledLayerで特定のビューオブジェクトをアニメーション化するときに恐怖が始まります。

を使用して、CATiledLayerを強制的に再描画できることを読みましたsetNeedsDisplay。しかし、これは実際には画面上のすべてを再描画します。したがって、すべてのタイルが再度ロードされます。

何かがアニメートしているときにレイヤーを更新するにはどうすればよいですか?例として、次の例を見てみましょう。レイヤーに6つの緑色の長方形があり、UIButtonを押したときに、長方形番号4の色を赤に変更し、長方形12と3をベジェ曲線に再配置します。

0 投票する
4 に答える
21506 参照

android - リアルタイムで動的データでAndroidListViewを更新するにはどうすればよいですか?

AndroidListViewに表示したいバックグラウンドスレッドロードデータがあります。データは非常に頻繁に変更されます(つまり、1秒間に1〜2回)。データセットの行数も変わることがあります(ただし、セルのデータほど頻繁ではありません)。

私が知る限り、セル内のデータを更新する方法は2つあります。

  1. バックグラウンドスレッドに新しいデータの準備ができたことをUIスレッドに通知させると、UIスレッドはBaseAdapter.notifyDataSetChanged()を呼び出すことができます。ただし、ListViewはすべてのサブビュービューを再構築する必要があるため、そのメソッドが頻繁に呼び出されると遅くなることを複数の場所で読んだことがあります。

  2. データセット数が変更されていない場合は、変更されたデータに関連付けられている表示可能なListViewセルをすべて見つけて、notifyDataSetChanged()を呼び出さずに値を手動で更新できる可能性があります。これはおそらく機能しますが、リストアダプタが更新通知と通知のメカニズムを処理することになっているときに、ビューを手動で更新する必要があるのは残念だと思います。この方法は、データセット数が時間の経過とともに変化する場合にも機能しません(つまり、ListViewの各セル内のデータが変化するだけでなく、リアルタイムデータを提供するバックグラウンドスレッドに基づいてListView内のセルの総数が増減する可能性があります)。

このシナリオを実装した他の人たちの考えと、彼らがコードの単純さ、そして最も重要なこととしてパフォーマンスをどのように最適化したかについて、私は確かに感謝します。

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

jquery - Jquery DatepickerサーバーサイドReDraw?

ビューがあります:ドロップダウンメニューと1つの日付ピッカー。メニューを変更するたびに、日付ピッカーをアクティブな (クリック可能な) 日で更新したいと考えています。問題は、datepicker が (jquery を介して) 新しい日で更新されることですが、効果がすぐに表示 (再描画) されないため、新しい値が画面に表示されるように (月または年) 変更する必要がありました。助けてppppp。



試してみました、リフレッシュ、非表示/表示、破棄。私にとってはどの方法も機能しませんでした :( 注 : fct UpdateDates は変数 newdates=[] を jquery request / php で更新します。

Thx 4 すべて