問題タブ [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 - Swing:JButtonを更新できません-repaint()が機能していません
シンプルなGUIを作成するために初めてSwingを使用しています。それはJFrame私がシングルを置いたもので構成されてJButtonおり、クリックすると、他のコードを呼び出します。戻るのに3秒。
このコードを呼び出す直前に、でactionPerformed()、ボタンのテキストを更新して、処理が行われていることをユーザーに通知したいと思います。私の問題は、ボタンのテキストが3秒の呼び出しが戻るまで更新されないことです。通話中に更新されたテキストを表示したいのですが、後で元に戻します。
を呼び出しrepaint()てJButtonも何も起こらず、ボタンをクリックするとJFrame「Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException」がスローされます。
java - Java の再描画が正しく機能しない
Java repaint method を使用すると再描画されますが、キャンバスをクリックするかパネルのサイズを変更したときにのみ更新が表示されます。どうすればこれを修正できますか? 何が原因ですか?
user-interface - Blackberry -- 画面を更新すると、マネージャーのフィールド要素の描画順序が変更される
シナリオ
画面には 2 つのマネージャーがあります。1) 上部のメニュー マネージャーと 2) 情報/ボタン要素を持つボディ マネージャーです。メニュー マネージャーは、そのメニュー要素 (LabelFields) が適切に配置されるようにカスタム描画を行います。
主要な問題 - マネージャーとサブフィールド
の描画順序 ユーザーがアクションを実行する (ボタンをクリックする) 場合を除いて、画面は正常に描画されますが、ボディ マネージャーを含む要素が追加/削除されます。フィールド要素が本文に追加/削除されると、メニューが描画される順序が混乱します。
body マネージャーがフィールドを追加または削除すると、メニュー マネージャーがそれ自体を描画してからそのサブ要素 (ラベル フィールド) を描画する代わりに、メニュー マネージャーはそのサブ要素を描画し始め、次にそれ自体を描画し始めます。したがって、ラベル フィールドの上にペイントし、それらが消えたように見せます。
コメント
すでに無効化およびその他のオプションを試しました -- フィールド要素をボディに追加/削除した後、invalidate、invalidateall、updateDisplay... を呼び出そうとしました。すべて成功せずに。
カスタム サブレイアウトの削除が機能する -- この問題を解決できる唯一の方法は、メニュー マネージャのカスタム サブレイアウト ロジックを削除することです。残念ながら、メニュー システムは従来の方法で描画し、十分な間隔を提供しません。
以下は、メニュー マネージャーのサブレイアウト コードです。
最終的な質問
最終的には、フィールド要素を再描画できるようにしながら、メニュー マネージャーのカスタム レイアウトを維持したいと考えています。ここに私の最後の質問があります:
これを経験したことがありますか?
フィールド要素が画面に追加/削除されると、メニュー マネージャが間違った順序で描画を開始するのはなぜですか?
ネイティブの Manager.sublayout() は、描画順序を維持しないことを行いますか?
winforms - winforms の更新を無効にする
winform のコントロールの enable disable プロパティを変更するたびに、フォーム全体が再描画されます。すべてのコントロールを更新したときにのみ再描画することで、冗長な再描画を回避したいと考えています。これは可能ですか?
java - Swingでリペイントを組み合わせる方法は?
リスナーから何度もリペイントを呼び出していますが、ペイント関数を設計した方法は、1回のリペイントで済みます。マウスモーションリスナーに接続されているため、大量の再描画を生成します。
特定のコンポーネントの保留中のすべての再描画をキャンセルする方法はありますか?フレームのサイズを変更したり、最小化から復元したりする場合のように有効なものもあるため、再描画を無視し始めることはできません。
なぜ気にするのですか?私のペイントコードは非常に重く、非常に高いFPSでは完全な再ペイントを行うことができないためです。
wpf - WPFコントロールの再描画を強制する
私は現在、ペイントのようなWPFアプリケーションのクラスを作成しようとしています。LineMovement(StartPointからEndPointまでの線)とPathMovement(PointCollectionタイプのプロパティPointsで指定されたすべての点を通る線)を基本クラスにする必要があります。これらのクラスはControlから継承し、ControlTemplateを介して外観を取得します。
ControlTemplateは、特定の線のすべての移動可能なポイントの小さな視覚的マーカーを含む、MovementオブジェクトのAdornerLayerにAdornerも追加します。これらのマーカーは、マウスでのドラッグをサポートしています。
私が抱えている問題は、ポイントが移動したときに、どういうわけか私の移動クラスが再描画されないことです。Moleを使用してコードをデバッグしたところ、線の視覚化に使用されたポリラインが変更されたポイント値(Pointsプロパティに表示)を取得しましたが、再描画されないことがわかりました。
WPFコントロールの再描画を強制するにはどうすればよいですか?
c# - スムーズ スクロール .net フォーム
こんにちは、.net でフォームを使用しています。実行時にリンクされたラベルを動的に追加しています。これらのリンクラベルをパネルに追加し、そのパネルを winform に追加しています。リンクラベルの数が増えると、フォームは自動スクロールバー (垂直) を出します... 今、その自動スクロールを使用して下にスクロールすると、スクロールしてもフォームのビューが更新されず、スクロールを停止したときにのみフォームが更新されます...また、リフレッシュすると見栄えが悪くなります..ゆっくりと描く方法がわかります....
誰もこれを前に扱ったことがありますか??
スクロールイベントハンドラーで form.refresh() を試しましたが、役に立たないようです..
手がかりはありますか?