問題タブ [glasspane]

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 投票する
0 に答える
116 参照

java - 追加されたグラスペインは、任意のコンポーネントに対して getMousePosition() を呼び出し、null を返します

カスタム グラスペイン コンポーネントを作成し、それを myJFrameおよびJDialogclasses に設定しました。カスタム グラスペインでマウス イベントをインターセプトしません。必要がないためです。また、GUI にはツリーやポップアップなどの多くのコンポーネントがあり、マウス イベントをインターセプトして転送するのが複雑になるためです。フレーム/ダイアログ内getMousePosition()の他のコンポーネント (例: )を呼び出すたびに が返されることを除いて、すべてがそのまま正常に動作します。JPanelnull

私のJFrameJDialogクラスでは、グラスペインをdisabled(but visible) に設定しましたが、ほとんどの場合は機能します。getMousePosition()グラスペイン コンポーネントにマウス イベント リスナーを追加しなくても、メソッドが正しい値を返すにはどうすればよいですか。

問題を示すサンプル コード。

ガラス板をフレームに追加するための 3 行をコメント アウトすると、マウスの位置が正しく出力されます。これは問題を説明するための簡単な例です。上で述べたように、マウス リスナーをカスタム グラスペイン コンポーネントに追加すると、他の複雑さが生じるため、これを追加したくありません。

0 投票する
0 に答える
452 参照

java - GlassPane がマウス イベントを正しくディスパッチする

フレーム内の要素を移動するために GlassPane を使用しています。ドラッグされた要素がない場合、すべてのマウスイベントは通常の方法で送出されます

しかし、これにより、マウス イベント処理で異常な動作が発生します。例: マウス リスナーを持つ JPanel があります。このパネルをダブルクリックすると、別のフレームが開きます。このパネルにはいくつかのラベルがあります。Glasspane がない場合、このラベルをクリックできます。ラベルはマウス イベントに作用しないため、イベントはパネルに渡され、クリック アクションが実行されます。ディスパッチ ルーチンを使用するとき、マウス イベントをラベルに直接ディスパッチしますが、これはもちろんアクションにつながりません。

では、どうすればこれを修正できますか?もちろん、Panel への参照を使用して独自のラベル クラスを作成し、マウス イベントを再びパネルにディスパッチすることもできますが、これは適切な設計とは言えません。2 つ目は、Glasspane ディスパッチャーで、最も深いパネルがマウス イベントに関心があるかどうかを判断できることです。

何か案は?

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

java - 「次へ」をクリックしたときに待機カーソルを表示する - Netbeans WizardDescriptor

いくつかの PanelDescriptor を持つ Wizard Iterator があります。WizardDescriptor.ValidatingPanel を実装する 1 つの PanelDescriptor で [次へ] をクリックすると、待機カーソルを表示しようとしています。実行に時間がかかる validate() メソッド。

これまでのところ、いくつかの方法を試しましたが、どれもうまくいきません。

  1. http://dev.platform.netbeans.narkive.com/ofiffInN/finally-a-waitcursor-routine-that-works-in-netbeans
  2. http://netbeans-org.1045718.n5.nabble.com/Setting-wait-cursor-td3026613.html#a3026614

    /li>
  3. https://community.oracle.com/message/5322657#5322657

    /li>

私を正しい方向に向けるヒントがあれば幸いです。

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

java - マウスイベントをJavaFXのすべての重なったペインに委譲する方法は?

マウスイベントを処理/前処理したいが、それらを消費してはならないトップデコレーションペインがあります。

これを行う方法?何度か挑戦して失敗しました。

以下は、3 つのペインを持つコードです。緑色のものは「飾り」です。タスクは、マウス イベントに対して透過的にすることです。黄色と青のペインはワーカー ペインです。それらは、緑色のペインに重なっていないかのように機能するはずです。

ただし、緑色のペインはマウス イベントを受け取る必要があります。

コメント行は私が試したことを示し、コメントは何が間違っているかを示します:

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

layer - Gluon モバイル 5 レイヤーが非表示にならない

バックグラウンド IO がビジー状態のときにアニメーションの進行状況インジケーターを表示するビジー レイヤーを作成しました。Gluon モバイル 4 のガラス板にレイヤーが追加されます。

Gluon 5 では getLayers が削除され、移行ガイドに従ってレイヤーを直接表示できます。

ただし、レイヤーは非表示ではありません。

====

メイン プレーヤーはシングルトンの Background クラスであるため、BusyLayer は 1 回だけ表示されます。

そして、CompletableFutures を使用して非同期タスクを実行する次のようなコードを作成します。

もちろん、BusyLayer 自体:

}