問題タブ [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 投票する
3 に答える
514 参照

java - JFrame の JTable ヘッダーの場所を取得する

ここに私のアプリケーションの画像があります:

ここに画像の説明を入力

ご覧のとおり、そこに JTable があります。JFrame に関連する JTable のヘッダーの位置を取得する必要があります。

なぜ私はこれをしているのですか?テーブルの各列の目的を説明するヘルプ機能を追加しています。各列にスポットライトを当てます。次のようになります。

ここに画像の説明を入力

ご覧のとおり、スポットライトが表示されている場所がオフになっています。

場所を取得するには、次Rectangleを使用して列ヘッダーを取得します。

これをRectangleJFrame の正しい場所に変換するには、次を使用します。

誰かが列ヘッダーの正しい場所を取得するのを手伝ってくれますか?

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

java - JFrame 内の 1 つの JPanel から同じ JFrame 内の別の JPanel 内の JTextField に JLabel をドラッグするにはどうすればよいですか?

JLabelつまり、 a のテキストを a の a のテキストに設定しJTextField( JPanel) 、画面を横切って別の( )pnlUserにドラッグします。JLabelJPanelJTextFieldJPanelpnlGrid

詳細はこちら。

「ソリティア スクラブル」プログラムを作成しました。ユーザーは、テキスト カーソルをグリッド セルに配置し ( の a)、「ユーザー文字」のリストにある文字を入力するかJTextField(pnlGridの a ) JTextFieldpnlUserまたは「ユーザー文字」から文字をドラッグ アンド ドロップすることをシミュレートできます。の宛先グリッド セルに挿入しますpnlGrid

選択した文字が実際に画面上でドラッグされないため、「シミュレート」と言いました。マウスポインターを使用して、ドラッグ/ドロップを可能な限りリアルにしますが、文字を「つかむ」方法と、ボード全体で文字を物理的に目的地までドラッグHAND_CURSORする方法がわかりません。HAND_CURSOR

HAND_CURSORそのまま、ドラッグ操作中に文字がグリッドに沿って移動している間、文字は強調表示されますが、「ユーザー文字」領域に残ります。目的のセルに到達しpnlGridてマウス ボタンを離すと、文字が「ユーザー文字」から消去され、グリッド セルに突然表示されます。

したがって、手紙は多かれ少なかれ「ユーザーレター」からグリッドセルに「テレポート」されます(スコッティ、私を転送してください)。これは抽象的すぎる。下の 3 つの図に示すように、ユーザー文字を HAND_CURSOR の人差し指の先に置き、グリッドに沿ってドロップされるグリッド セルにドラッグします。

ここに画像の説明を入力ここに画像の説明を入力ここに画像の説明を入力

JLayeredPane を使用して小さなテスト プログラム (以下のソース) で問題なく実行できましたが、ゲームでは実行できません。しかし、私は 2 日前まで JLayeredPane について何も知らなかったので、自分が何をしているのかよくわかりません。(JLayeredPane のデモを行う Oracle チュートリアル プログラムを採用しました。)

「ガラス板」について読んだばかりで、そのデモのソースをダウンロードするまで実装する方が簡単かもしれないと思った.

ですから、フラストレーションの中でこれ以上何時間も過ごす前に、次のことを尋ねるべきだと思いました。

JLayeredPaneまたはsetGlassPaneアプローチは適切ですか?JLabelあるものJPanelから別のものにドラッグするより簡単またはより良い方法はありJPanelますか?

(プログラムのアプローチは、どの「ユーザー文字」が指されているかを判断し、その文字を に保存し、指先が文字の下部中央にあるJLabelことを確認することです。)mouseDraggedHAND_CURSOR

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

java - Mouse_Exited イベントかどうかを AWTEvent から判断する

私たちが書いているソフトウェアでは、GlassPane を使用して、ビジー状態のときにユーザーがプログラムを操作できないようにしています。これは、特定のボタンのロールオーバーが設定されているが削除されていないという意図しない副作用があります。

ロールオーバー セット、ガラス ペインがアクティブ、ガラス ペインが mouse_exit イベントを消費します。

GlassPane は次のように登録されています。

マウスの動きとマウス ホイールのイベントもキャッチする必要があることがわかったからです。

イベントが Mouse_Exit イベントから発生した場合、コードの上記の時点で調べる方法はありますか?

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

java - Java GlassPanelは透明な背景をクリアします

GlassPane で何かをレンダリングしたいと考えています。問題は、レンダリングされた線を移動すると、以前にレンダリングされたピクセルが同じ色のままになることです。透明度をクリアしないため、g.clearRect は使用できません。

それは私のレンダリングコードです:

結果は次のとおりです。 ここに画像の説明を入力

0 投票する
2 に答える
103 参照

java - ガラス板を 2 つに分割し、それぞれに別のマウスリスナーを追加できますか?

ガラス板の下に 2 つの画像を含むコードがあります。各画像が独自のガラス枠の下にあり、各ガラス枠が独自のマウスリスナーの信号を送るようにしたいと考えています。現在、私は両方を 1 つのガラス板の下に作成し、ガラス板全体に対して 1 つのマウスリスナーを使用しています。どちらの画像もグリッド レイアウトで並べて表示されているため、ガラス ペインを半分に分割するのは難しくありません。これは 1 つのガラス ペインのコードですが、2 つのガラス ペインと、画像ごとに 2 つの個別のマウス リスナ クラスを作成しようとしていることに注意してください。これは、**両方の画像に対して 1 つの*マウス リスナーを使用した単なるコードです。

camickr のリクエストによるコードは次のとおりです。2 つの別個のマウス リスナーがあることに注意してください。別の方法でそれを行う方法を知りたいです。JLabel がマウスを追跡する場合、1) マウスから非常に離れている、2) 完全な JLabel が表示されない、3) 1 回の終了/開始後に変更されない。本当に助かりました。camickrs のアドバイスに基づいたコードは次のとおりです。

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

java - Glasspane が機能しない、Java

私は小さなJavaアプリケーションに取り組んでおり、アプリケーションのルートペインのガラスペインに待機中のグラフィックを追加したかったのですが、クラスは次のとおりです:

そしてメインクラス:

しかし、ボタンのアクションを次のように変更すると:

それは動作しません。

0 投票する
2 に答える
1131 参照

java - Glass Pane にグラフィックを描画する

私は現在、ボードゲーム Khet のバージョンを作成しており、Glass Pane を使用してターン間に発射されたレーザーを表示することを計画していましたが、私の人生では、図面をまったく表示できません。ゲームのすべてのコードを掲載する手間を省くために、ガラス板に関連するコードのみを以下に掲載しました。グラフィックが表示されない理由を誰か教えてもらえますか?

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

java - Java: 「しばらくお待ちください」GlassPane が正しくロードされていません

完了するのに数秒かかる Java ルーチンがあります。GlassPaneそのルーチンの実行中にユーザーが UI を変更するのを防ぎ、ルーチンが終了すると自動的に非表示になる (おそらく "prease wait" メッセージが内部にある)をロードしたいと思います。これを行うには、次のコードを使用します。

に固有のものを設定しjava.awt.CursorましたmyGlassPane。上記のコードを実行すると、新しいものが表示されますが、「お待ちください」メッセージなどでjava.awt.Cursor全体が表示されるわけではありません...GlassPane

この問題の原因について何か考えはありますか? GlassPaneandを使用する代わりに、探しているものを取得するための他のより良い方法はありThreadますか?