問題タブ [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.

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

java - JLayeredPane が描画されない

良い一日、

うまくいけば、これは簡単な質問です。JFrame 内で JPanels と JLayeredPane を使用するアプリケーションを作成しています。アプリケーションの最初の起動時に、パネルがあるはずの領域にマウスを移動するまで、パネルの 1 つが表示されません。検証メソッドと再描画メソッドも呼び出しますが、両方のパネルを一緒に表示できます。助言がありますか?ありがとうございました。

これが私のJFrameクラスです(メインメソッドがあります)

これが私のパネルクラスの1つです

そして最後に、最後のパネル クラス

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

java - JLayeredPaneの透明なJPanel

私はいくつかの同様の質問を見てきましたが、残念ながら、そこに含まれている提案は私にとっては完全にはうまくいきませんでした。

全体的な目標:主に視覚化(ここでは「表示」)を表示するウィンドウの左上に表示したいスライダーがあります。スライダーは、背景なしでビジュアライゼーションの上にオーバーレイする必要があります。

これまでのところ、JLayeredPaneのビジュアライゼーションの上のレイヤーにスライダーを含むJPanelがあります。問題は、setOpaqueやsetBackground(new Color(0,0,0,0))を呼び出しても、スライダーを含むJPanelの背景が灰色で表示されることです。ニンバスLAFを使用しています。

もともと、私は絶対レイアウトを使用しました。これは、ほとんどすべてを非常にエレガントに、最小限のコードで実現しました。問題は、ビジュアライゼーションがウィンドウに合わせて自動的にサイズ変更されないことでした(ただし、ビジュアライゼーションをウィンドウに合わせてサイズ変更するクリーンな方法がある場合は、このアプローチを利用できます)。

本当にありがとう!

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

java - 個々のパネルのJava Swing GlassPane機能?

JFrame 全体を満たす単純なインターフェースを作成しました。ここでは、インターネットで発見されたクラス FinalGlassPane のバージョンを使用しています。

このガラス ペインには通常のイベント リスナーはありませんが、基礎となるコンポーネントの AWTEvents を監視します。このようにして、インターフェースの機能がすべて利用できるようになり、単一の AWTEvent ハンドラーを使用してグローバルなマウスの動きの座標に応答し、それに応じてすべての上にペイントすることができます。すべてがうまく機能しますが、メインの JFrame 内に、それぞれ独自の座標空間とイベント ハンドラーを持つ、この機能の複製が必要です。JLayeredPane について学んだばかりですが、この機能が JLayeredPane で可能になることを確認したかったのです。IE は、完全に透明であるがペイント可能な JPanel レイヤーを一番上に追加し、それで AWTEvents を処理し、基になるイベントを正常に起動します。

編集: JDesktopPane 内で複数の JInternalFrame (および関連するガラス ペイン) を使用することについて読んでいます。JDesktopPane がレイアウト マネージャーで動作するとは思わないため、必要に応じて 2 つのフレームを絶対に配置/サイズ変更する必要がありますが、これが最適なオプションである可能性があります。編集終了

最後にやりたいことは、すべてのインターフェイス コンポーネントにマウス移動リスナーを追加し、同じメソッドを実行するために親パネルの座標に変換する必要があることです。

必要に応じて、グラス ペイン全体のマウス座標を監視し続け、そこからロジックを分岐する方法を見つけ出すことができました。ただし、自己完結型で個別化されている方がよいでしょう。

最後の注意点として、最終的にはこれを Android に導入したいと考えていますが、Android のグラフィックスについては何も知りません。階層化されたパネル機能がない場合は、最初から 1 回だけ、より難しく、より移植性の高い方法で実装したいと思います。

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

java - JLayeredPane を既存の JFrame に導入する

私は Oracle の JLayeredPane チュートリアルをじっと見てきましたが、それらは私を混乱させる方法でレイアウトされており、私がやろうとしていることを理解できません。

これまでレイヤーの概念がなかったアプリケーションがあります。すべてが JFrame 内の単一のレイヤーに配置されます。

ここで、必要に応じて特定の場所に散発的に表示されるコンポーネントを導入し、通常そこにある既存のコンポーネントをオーバーレイします。すべての最上位コンテンツ (つまり、JFrame に直接追加されるコンポーネント) が代わりに JFrame の JLayeredPane に追加されるように、既存のアプリケーション JFrame を変更する必要がありますか?

または、正確には何ですか?

この GUI を適応させて、既存の GUI の再作業を最小限に抑えてレイヤーを使用する簡単な方法を探しています。

ここで助けてくれてありがとう。

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

java - 初心者の JLayeredPane の問題

JLayeredPanes で振り出しを通過できません。(昨日の元の質問を参照してください。私は JLayeredPane チュートリアルと API を研究してきました。これらのチュートリアルは、私が最終的に作成しようとしているものとは多少異なります。

振り出しに戻ると、私は Oracle の JFrame Example を取り上げ、レイヤード ペインを含めるように修正しました。

コードは次のとおりです。

うまくいかないのはなぜですか?IOW、サブラベルが表示されないのはなぜですか? メインレイヤーよりも高いレベルにあります。

考えられることの 1 つは、コンテンツ ペインとレイヤード ペインの両方に mainLayer を追加する理由です。そうしないと、何も表示されません。つまり、この行をコメントアウトすると、空白のフレームが表示されます。

明らかに、私は何かを理解していません。しかし、それは何ですか?

明らかに、この単純なデモはレイヤード ペインなしで実行できることを付け加えておきます。しかし、私の最終的な目標は、プログラムでオンとオフを切り替えることができるレイヤーを用意することです。しかし、この単純なケースを機能させることさえできません。このこぶを乗り越えることができれば、あとは楽になると思います。

補遺:

私が達成したいことは、次のコードで示されています。これは、TrashGod が以下に設定したものと非常によく似ており、機能します。定数レイヤー (Integer(0) でレイヤー化) と最初に Integer(-1) でレイヤー化されたフローティング レイヤーを持つ JLayeredPane がありますが、Integer(-1) レイヤーと Integer(1) の間で F7 および F8 キーストロークによって切り替え可能です。これにより、定数レイヤーの上または下にフロートすることができます。

ただし、実際のケースではこれを機能させるのに問題があります。この 2 つの違いは、ここでは JLayeredPane が Frame によって所有されているのに対し、実際のアプリケーションでは JLayeredPane が JPanel によって所有されるようにしたいということです。これは、Frame から包含階層のいくつかのレベルが下がっており、そのサイズが親の GridBagLoyout によって設定されるため、コンストラクターが呼び出された時点ではサイズがわからないため、JLayeredPane の子で行う必要がある setBounds() の呼び出しが困難になります。

さらなる補遺。Oracle チュートリアルでは、絶対配置ではなくレイアウトが JLayeredPane で使用されるケースについて言及していることを知っています。この場合と私の場合の違いは、私の場合、レイヤーは異なるレイヤーで同じ水平方向のスペースを占めるのに対し、この場合、異なるレイヤーのコンポーネントは異なる水平方向のスペースを占めることです。まるで 3D Layout Manager が必要であるかのようです!

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

java - java JLayeredPane Windowビルダーによって生成された別のパネルの前にJPanelを追加する方法

私はJavaである種のアプリケーションを書いており、別のオブジェクトの前に何かを配置する必要があります(Zオーダー)。JLayeredPaneを使用する必要があることは知っていますが、実際にはあまり慣れていません。私の考えは、JLayeredPane に挿入しながら、Z オーダー係数が異なる 2 つの JPanel を作成することです。私は自分のコードを貼り付けましたhttp://www.wklejto.pl/130038 私は何の効果もなく長時間やっているので、何が悪いのか教えていただければ幸いです。

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

java - LayeredPane スイングのサイズ変更

BorderLayout を使用し、jTable と layeredPane を含む JPanel があります。jTextPane の上に jComboBox が含まれているため、layeredPane を使用する必要があります。問題は、ユーザーが画面のサイズを変更しても、layeredPane のサイズが変更されないことです。どうすればこれを修正できますか? 私はこのようなものを持っています:

コンポーネントを重ねる必要があるため、レイヤード ペインにレイアウト マネージャーを使用しても機能しません。

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

java - これらのステートメントを説明できますか?

私はこれらのステートメントの両方を使用するインターネット上の例に出くわしました:

(dpはJDesktopPaneオブジェクトであり、bgはJLabelです)

それらがどのように使用されているかを知りたい場合は、これが私が見ていたものです:http: //www.coderanch.com/t/329874/GUI/java/put-background-image-swing

私はJavaに関しては初心者であり、これら2つのステートメントだけでなく、残りの例も理解しています。そして、それらが何をしているのかわからないのは私を悩ませます。一番戸惑うのは「newInteger(50))」ですが、初心者にもわかりやすい説明をお願いします。よろしくお願いします。

前もって感謝します、

アレックス。

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

java - アプレットを描画できる JLayeredPane で構成される JFrame を作成するにはどうすればよいですか?

アプレット内のコンテンツに基づいて、アプレットの「上」に描画できる GUI を作成しようとしています。これをテストするために、JLayeredPane を使用して、アプレットの上に表示される背景が塗りつぶされたパネルを作成して、単純な四角形を塗りつぶそうとしています。これを機能させることはできませんが、試してみます。

プログラムを実行してもアプレットが表示されないか、初期化されません。

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

java - JLayeredPane での JLabel の移動

JLayeredPane の上に多数の JLabels を動的に移動する必要があります。問題は、それらが適切に更新されないことです。正しく動く場合もあれば、まったく表示されない場合もあります。

私のコードは次のようになります。

パネルの構築

JLabel の追加:

JLabelが表示されている場合、配置は正しいですが、常に表示されるとは限りません...ここで何がうまくいかないのですか...