問題タブ [repaint]
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.
java - 別の JPanel 内での JPanel の問題の再描画
this 内に形状を描画していますJPanel
が、これは別の main 内にもありJPanel
ます。1repaint()
ミリ秒だけ形状を描画し、その後消えます。ペイントされたままにならないのはなぜですか?
私のpaintComponent
方法はこのようなものです
親が有効になっている場合JEditorPane
、setEditable()
それは機能し、形状を見ることができますが、それが の場合JPanel
、ミリ秒後に空のパネルしか表示されません。
java - JMenuBar を「カスタム」JPanel にドロップダウンして「消去」
のは JFrame に追加されたJMenuItems
にJMenuBar
ドロップダウンしますJPanel
が、JPanel は を消去しJMenuItems
ます。
JPanel の再描画を一時停止する必要がありますか? 画像を描画するために on
を使用しています。このメソッドは、(たとえば) 200 ミリ秒の遅延でスレッドから呼び出されます。getGraphics()
JPanel
編集:
これは(非常に単純な)ゲームJPanel
です. ( JPanel に
フィールドを追加し、 paint メソッドを編集して、 の場合にのみ再描画するようにしましたが、この「解決策」が適切かどうかはわかりません。 (ユーザーがメニューを選択またはキャンセルするときに設定します。)paused
JPanel
paused
false
true
false
java - 特定の条件下で Java の再描画が遅い
各正方形がカーソルで強調表示される単純なグリッドを作成しています:
これらは、JLayeredPane 内の 2 つの JPanel、mapgrid、およびオーバーレイであり、下部に mapgrid があります。Mapgrid はグリッドの初期化時に描画するだけで、その描画方法は次のとおりです。
オーバーレイ JPanel では、ハイライトが発生する場所です。これは、マウスが移動したときに再描画されるものです。
マウスの移動時にベース レイヤー (mapgrid) が再描画されず、透明なオーバーレイ レイヤーだけであっても、パフォーマンスが不足していることに気付きました。オーバーレイ JPanel に背景を与えると、その方法は速くなります。mapgrid Antialiasing を削除すると、少し速くなります。
オーバーレイ レイヤーに背景を与える (したがってマップグリッドを非表示にする) か、マップグリッドでアンチエイリアシングを無効にすることで、パフォーマンスが大幅に向上する理由がわかりません。
これを行うより良い方法はありますか?なぜこれが起こるのですか?
javascript - リフローとリペイントの違いは何ですか?
リフローとリペイントの違いが少しわかりません(違いがある場合)
リフローがさまざまなDOM要素の位置をシフトしているように見えます。ここで、リペイントは新しいオブジェクトをレンダリングしているだけです。たとえば、要素を削除するとリフローが発生し、色を変更すると再ペイントが発生します。
これは本当ですか?
javascript - JavaScript関数の進行状況を報告する方法は?
非常に長く、多くのタスクを実行するJavaScript関数があります。進行状況を、メッセージでSPAN要素の内容を更新してユーザーに報告したいと思います。関数コード全体にdocument.getElementById('spnProgress')。innerText=...ステートメントを追加してみました。
ただし、関数の実行中はUIが更新されないため、SPANに書き込まれた最後のメッセージのみが表示されます。これはあまり役に立ちません。
私の現在の解決策は、タスクをいくつかの関数に分割することです。各関数の最後にSPANメッセージを設定し、非常に短い遅延(たとえば、10ミリ秒)でwindow.setTimeout呼び出しを使用して次のメッセージを「トリガー」します。これにより制御が可能になり、ブラウザは次のステップを開始する前に、更新されたメッセージでSPANを再描画できます。
しかし、これは非常に厄介でコードに従うのが難しいと思います。もっと良い方法があるはずだと思います。誰か提案はありますか?関数のコンテキストを離れることなく、SPANを強制的に再描画する方法はありますか?
ありがとう
qt - 別のQtクラスを塗り替える方法
私はQtの新しいビットです...
Qt GUIアプリケーション(自分で作成)があります。QtAPP.exeと呼びましょう。QtAPP.exeを実行しているときは、QThreadとQProcessを使用して、player.exe(ネイティブCで作成)などの外部ファイルを実行します。
これが私の質問です:QtAPP.exeには、2つのクラスがあります。1。QMainWindow-QtAPP.exeのコア2.QThread-外部のものを実行するためのスレッドクラス
今のところ、そのQThreadでfinished()シグナルを受け取った場合、QMainWindowにそれ自体を再描画させるにはどうすればよいですか?
誰かが私にいくつかのヒント、多分サンプルコードを見せてくれることを願っています:)どんな提案も歓迎します〜
java - スイングボタンの再描画の問題
私はJavaが初めてで、日曜日までに学校のプロジェクトを終わらせなければならず、問題が発生しました。
コードは次のとおりです。
putShip* ボタンの 1 つがクリックされると、それ自体のアイコンが右に 90 度回転する (次の画像に変更されることを意味します) 必要がありますが、パネルが別のパネルに変更される startButton がクリックされるまで何もしません。(最初のボタンの actionListener のみがここにあり、他のボタンは実質的に同じです)。パネルは JFrame 内にあり、他の 2 つのパネルはまだ何もしていません。
どうすれば適切に機能させることができますか?
ありがとうございました。
c# - 最小化された状態から復元された後、フォームを再描画するにはどうすればよいですか?
ボタンをクリックするとすぐに波形が表示される、ボタンクリックで波形をペイントするフォームがあります。フォームを最小化して再度最大化すると、波形が消えます。再描画するにはどうすればよいですか?ペイントイベントを使用している人を見たことがありますが、ボタンクリックイベントの後/内部での使用方法がわかりません。助けてください。
c# - WinForms での低速で CPU を集中的に使用するスクロールの高速化
WinForms アプリで UserControls のスクロールを高速化するにはどうすればよいですか?
私のメイン フォームは、低速のマシンですばやくスクロールするのに問題があります。小さなスクロール単位ごとにペイントすると、CPU が集中的に使用されます。
私のフォームには、およそ 50 個の UserControls (複数のフィールドを持つ) が上下に配置されています。非常に小さなスクロール イベントの不要な再描画を排除するために、OnScroll と UserPaint をインターセプトしようとしましたが、基になる Paint がとにかく呼び出されます。
低速のマシンでスクロールを合理化するにはどうすればよいですか?