問題タブ [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.
java - JFrame の JTable ヘッダーの場所を取得する
ここに私のアプリケーションの画像があります:
ご覧のとおり、そこに JTable があります。JFrame に関連する JTable のヘッダーの位置を取得する必要があります。
なぜ私はこれをしているのですか?テーブルの各列の目的を説明するヘルプ機能を追加しています。各列にスポットライトを当てます。次のようになります。
ご覧のとおり、スポットライトが表示されている場所がオフになっています。
場所を取得するには、次Rectangle
を使用して列ヘッダーを取得します。
これをRectangle
JFrame の正しい場所に変換するには、次を使用します。
誰かが列ヘッダーの正しい場所を取得するのを手伝ってくれますか?
java - JFrame 内の 1 つの JPanel から同じ JFrame 内の別の JPanel 内の JTextField に JLabel をドラッグするにはどうすればよいですか?
JLabel
つまり、 a のテキストを a の a のテキストに設定しJTextField
( JPanel
) 、画面を横切って別の( )pnlUser
にドラッグします。JLabel
JPanel
JTextField
JPanel
pnlGrid
詳細はこちら。
「ソリティア スクラブル」プログラムを作成しました。ユーザーは、テキスト カーソルをグリッド セルに配置し ( の a)、「ユーザー文字」のリストにある文字を入力するかJTextField
(pnlGrid
の a ) JTextField
、pnlUser
または「ユーザー文字」から文字をドラッグ アンド ドロップすることをシミュレートできます。の宛先グリッド セルに挿入しますpnlGrid
。
選択した文字が実際に画面上でドラッグされないため、「シミュレート」と言いました。マウスポインターを使用して、ドラッグ/ドロップを可能な限りリアルにしますが、文字を「つかむ」方法と、ボード全体で文字を物理的に目的地までドラッグHAND_CURSOR
する方法がわかりません。HAND_CURSOR
HAND_CURSOR
そのまま、ドラッグ操作中に文字がグリッドに沿って移動している間、文字は強調表示されますが、「ユーザー文字」領域に残ります。目的のセルに到達しpnlGrid
てマウス ボタンを離すと、文字が「ユーザー文字」から消去され、グリッド セルに突然表示されます。
したがって、手紙は多かれ少なかれ「ユーザーレター」からグリッドセルに「テレポート」されます(スコッティ、私を転送してください)。これは抽象的すぎる。下の 3 つの図に示すように、ユーザー文字を HAND_CURSOR の人差し指の先に置き、グリッドに沿ってドロップされるグリッド セルにドラッグします。
JLayeredPane を使用して小さなテスト プログラム (以下のソース) で問題なく実行できましたが、ゲームでは実行できません。しかし、私は 2 日前まで JLayeredPane について何も知らなかったので、自分が何をしているのかよくわかりません。(JLayeredPane のデモを行う Oracle チュートリアル プログラムを採用しました。)
「ガラス板」について読んだばかりで、そのデモのソースをダウンロードするまで実装する方が簡単かもしれないと思った.
ですから、フラストレーションの中でこれ以上何時間も過ごす前に、次のことを尋ねるべきだと思いました。
JLayeredPane
またはsetGlassPane
アプローチは適切ですか?JLabel
あるものJPanel
から別のものにドラッグするより簡単またはより良い方法はありJPanel
ますか?
(プログラムのアプローチは、どの「ユーザー文字」が指されているかを判断し、その文字を に保存し、指先が文字の下部中央にあるJLabel
ことを確認することです。)mouseDragged
HAND_CURSOR
java - Mouse_Exited イベントかどうかを AWTEvent から判断する
私たちが書いているソフトウェアでは、GlassPane を使用して、ビジー状態のときにユーザーがプログラムを操作できないようにしています。これは、特定のボタンのロールオーバーが設定されているが削除されていないという意図しない副作用があります。
ロールオーバー セット、ガラス ペインがアクティブ、ガラス ペインが mouse_exit イベントを消費します。
GlassPane は次のように登録されています。
マウスの動きとマウス ホイールのイベントもキャッチする必要があることがわかったからです。
イベントが Mouse_Exit イベントから発生した場合、コードの上記の時点で調べる方法はありますか?
java - Java GlassPanelは透明な背景をクリアします
GlassPane で何かをレンダリングしたいと考えています。問題は、レンダリングされた線を移動すると、以前にレンダリングされたピクセルが同じ色のままになることです。透明度をクリアしないため、g.clearRect は使用できません。
それは私のレンダリングコードです:
結果は次のとおりです。
java - ガラス板を 2 つに分割し、それぞれに別のマウスリスナーを追加できますか?
ガラス板の下に 2 つの画像を含むコードがあります。各画像が独自のガラス枠の下にあり、各ガラス枠が独自のマウスリスナーの信号を送るようにしたいと考えています。現在、私は両方を 1 つのガラス板の下に作成し、ガラス板全体に対して 1 つのマウスリスナーを使用しています。どちらの画像もグリッド レイアウトで並べて表示されているため、ガラス ペインを半分に分割するのは難しくありません。これは 1 つのガラス ペインのコードですが、2 つのガラス ペインと、画像ごとに 2 つの個別のマウス リスナ クラスを作成しようとしていることに注意してください。これは、**両方の画像に対して 1 つの*マウス リスナーを使用した単なるコードです。
camickr のリクエストによるコードは次のとおりです。2 つの別個のマウス リスナーがあることに注意してください。別の方法でそれを行う方法を知りたいです。JLabel がマウスを追跡する場合、1) マウスから非常に離れている、2) 完全な JLabel が表示されない、3) 1 回の終了/開始後に変更されない。本当に助かりました。camickrs のアドバイスに基づいたコードは次のとおりです。
java - Glasspane が機能しない、Java
私は小さなJavaアプリケーションに取り組んでおり、アプリケーションのルートペインのガラスペインに待機中のグラフィックを追加したかったのですが、クラスは次のとおりです:
そしてメインクラス:
しかし、ボタンのアクションを次のように変更すると:
それは動作しません。
java - Glass Pane にグラフィックを描画する
私は現在、ボードゲーム Khet のバージョンを作成しており、Glass Pane を使用してターン間に発射されたレーザーを表示することを計画していましたが、私の人生では、図面をまったく表示できません。ゲームのすべてのコードを掲載する手間を省くために、ガラス板に関連するコードのみを以下に掲載しました。グラフィックが表示されない理由を誰か教えてもらえますか?
java - Java: 「しばらくお待ちください」GlassPane が正しくロードされていません
完了するのに数秒かかる Java ルーチンがあります。GlassPane
そのルーチンの実行中にユーザーが UI を変更するのを防ぎ、ルーチンが終了すると自動的に非表示になる (おそらく "prease wait" メッセージが内部にある)をロードしたいと思います。これを行うには、次のコードを使用します。
に固有のものを設定しjava.awt.Cursor
ましたmyGlassPane
。上記のコードを実行すると、新しいものが表示されますが、「お待ちください」メッセージなどでjava.awt.Cursor
全体が表示されるわけではありません...GlassPane
この問題の原因について何か考えはありますか? GlassPane
andを使用する代わりに、探しているものを取得するための他のより良い方法はありThread
ますか?