問題タブ [jlayeredpane]
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 JLayeredPane.getLayer() - ドキュメント エラーまたは実際の副作用?
Swing のJLayeredPaneについて何かを理解しようとしています。誰かがこのクラスを使用したことがある場合は、フィードバックをいただければ幸いです。
getLayer(JComponent c) のドキュメントには次のように記載されています。
JComponent のレイヤ プロパティを取得します。setLayer() のような副作用はありません。(ペイント、追加/削除など) 通常は、インスタンス メソッド getLayer() を使用する必要があります。
これはインスタンス メソッド getLayer() であるため、明らかに間違いがあります (オーバーロードされたバージョンはありません)。
ここで行うべき別の呼び出しが実際にあるのでしょうか、それとも putLayer() からのコピーに熱心すぎる人がいたのでしょうか。
JComponent にレイヤ プロパティを設定します。このメソッドは、setLayer() のような副作用 (ペイント、追加/削除など) を引き起こしません。通常、必要な副作用 (再描画など) を得るには、インスタンス メソッド setLayer() を使用する必要があります。
java - mouseDragged イベントの下の DRAG_LAYER に JLabel を追加する方法
私は現在、ドラッグアンドドロップアプリケーションに取り組んでおり、JLayeredPane 内で何が起こっているのかを本当に知りたいのですが、特定のプログラムの動作が得られます...
契約は次のとおりです。
DEFAULT_LAYER にチェス盤を配置しました。
また、移動するときに DRAG_LAYER に追加したい chessPiece もあります。
だけどフェチがある…
このライン使いたい
mouseDragged イベントの下でのみ。
これを行うと、マウスを動かしているうちにチェスの駒が消えて、チェス盤の後ろに隠れてしまいます (?!?)
上記の行を次のように変更すると:
すべてが再び正常になります。
なぜそれが起こっているのですか?
java - JLayeredPaneをJPanelに追加する
JLayeredPaneをJPanelに追加してから、画像(JLabelアイコン)とボタンをJLayeredPaneに追加しようとしていますが、どちらも表示されません。ボタンとレイヤードペインなしで画像をテストしたので、それが機能することがわかります。これが私が使用しているコードの一部です。私が見逃している、または間違っていることはありますか?
java - Java: Draw Lines on a JMF Lightweight_Rendered Player
I've got a problem: I have a JMF-Videoplayer in my application and I want to draw on it (while the video continues). The Problem I've got is that I use a JLayeredPane where I add the VideoPlayer-Control on Layer.Content_Layer(index 0) and a JPanel (setOpaque(false)) on Layer.Modal_Layer(index 300).
What happens is, when I add the JPanel it is not opaque but I see the drawn lines but not the video. If I add the JPanel before (didn't changed the index of the layer) I add the video-control then I see the video but not the drawn lines.
Has someone an idea why this doesn't work and how I could make it work?
I thought about adding an ActionListener to the video-control-component and evertime the image changes, I take this image and paint it as background on the JPanel but I'm affraid that this will cost me precious time.
My code looks like this:
The videoPlayerPanel is also a JPanel that contains the JLayeredPane... as you can see.
Edit: Okay I put some research into it and found out that
returns a java.awt.Component and such components do not support opacity - maybe that's the reason why I cannot see or only see the drawPanel.
So currently I'm trying to draw directly onto the video-Component by adding it to a customized Panel where i override the paint-method to draw all the lines. Any other ideas?
java - ガラス ペインとレイヤード ペインの使用例
ガラス板と層状板の違いについて、私はいつも少し曖昧でした。ガラス ペインは本質的に「ルート ペインの最上層」にすぎないのでしょうか、それとも動作が異なりますか? ガラス ペインの代わりにレイヤード ペインを使用するのはいつですか?
java - 描画時のJavaSwingNullPointerException
カスタムJLayeredPaneを使用しています。JLayeredPaneのさまざまなレイヤーに描画する必要のあるシェイプがいくつかあります。
これをテストするために、JPanelを作成し、そのグラフィックスを尋ねます。次に、そのJPanel(グラフィックの準備)にテスト長方形を描画し、JLayeredPaneのpaintComponentメソッドで最終的にすべてを描画します。しかし、これは失敗します(NullPointerException)。
}
JLayeredPane内からそのようなJPanelを利用できないのはなぜですか?paintComponentメソッド内からJLayeredPaneに直接描画できますが、これはJLayeredPaneのデフォルトのパネルにあります。JLayeredPaneに追加されたいくつかのレイヤーを作成して描画する必要があります。
私は何が間違っているのですか?:s
java - レイヤードペインへのJTableの追加
JavaのJLayeredPaneにJTableを追加できますか?
java - 重量のあるコンポーネント上の透明な背景
問題があります。LayeredPane には 2 つのコンポーネントがあります。重量コンポーネントと、最初のコンポーネントの上に配置される JComponent (またはテキストを描画できるその他のもの) です。JComponent の背景を透明にしたいのですが、背景が黒くなっています。Heavyweight コンポーネントはビデオをレンダリングするコンポーネントで、JComponent はテキストを描画するコンポーネントです。このテキストは透明な背景で印刷する必要があります。
GlassPane を使用しようとしましたが、glassPane のガラス コンテンツが軽量コンポーネントの上に表示され、重量コンポーネントの下に表示されました。
重量コンポーネント (キャンバス) の上にテキストを描画する可能性はありますか?
ps。Canvas のサブクラスである HeavyComponent クラスのオブジェクトを取得したため、ペイント メソッドをオーバーロードできません。
java - マウス カーソル JLayeredPane を設定できません
私は、ウェブ上のどこにも答えが見つからない、または見つけられないという問題に直面しています。
JLayeredPane があり、子 Panel が 1 つしかない場合、setCursor() を使用してカーソルを正しく設定できます。カーソルが表示され、すべて問題ありません。しかし、追加の JPanel を JLayeredPane に追加すると、カーソルが表示されなくなりました
たとえば、これは機能します:
しかし、これはしません:
JLayeredPane 内で動作するカスタム カーソルを取得する方法を知っている人
java - JavaのJLayeredPaneのレイヤー数に制限はありますか?
ATC用のJavaアプリケーションがあります。GUIを使い始めたところです。まず、メインフレーム、このメインフレーム上、およびの中にラベル(を含む)がJLayeredPane
付いたパネルがあります。ImageIcons
JLayeredPane
に約4つのパネル(パネルにはラベルがあり、ラベルにはImageIcons
)が追加されましたJLayeredPane
。5番目のパネルを追加しようとすると、間違ったGUI表示が表示されます。
これは、pnlplane(4レイヤー)を追加する前に取得したものです。
これは私が得るものです(私がpnlplaneを追加しようとすると-5層[問題]):
これは私が持っているべきものです:
より簡単な方法は、フォトショップですべての画像を1つの大きな画像にまとめることです。ただし、他に利用可能な修正があるかどうかを知りたいです。