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

netbeans - netbeans の JLayeredPane

Jlayeredpane に Jeditorpane と Jtextarea の 2 つのコンポーネントを配置しようとしています。私はネットビーンズを使用しています。jlayeredpane と 2 つのボタンに jeditorpane と jtextarea を追加しました。button1 をクリックすると、「Hello world doing nice」というメッセージが表示されます。

button2 をクリックすると、「Hello world not doing good」というメッセージが表示されます。

しかし、ボタン1をクリックすると、「Hello world doing nice」というメッセージが表示されますが、button2をクリックすると、コンポーネントを前面に移動する必要があるため、「Hello world not doing good」というメッセージは表示されません。誰かがこれを解決する方法を教えてください。これは、部分的に netbeans によって生成され、部分的に私が作成したソース コードです。ありがとうございました。

0 投票する
3 に答える
2106 参照

java - Java Swing:JLayeredPaneで他のJPanelとオーバーレイされたJPanelからカスタムペイントをクリアする

3つのJPanelを含むJLayeredPaneがあり、そのうちの2つは重なり合っており、シェイプをペイントしています。オーバーラップする2つのJPanelの1つは、その下のJPanelに描画された形状に影響を与えずに、描画されたすべての形状をクリアする必要があります。現在、私は次のようなものを使用しています:

ただし、これにより、pane2にペイントされたすべてのものだけでなく、その下にあるpane1もクリアされます。だから私の質問は:その下のJPanelに描かれたものに影響を与えることなく、1つのJPanelに描かれたすべてをクリアする方法はありますか?

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

java - JLayeredPane の上位コンポーネントを描画する JMenuItems

JLayeredPane の 1 つのレイヤーにある JPanel に一連の JMenuItems があり、上位レイヤーの JPanel にエミュレートされたカーソルが描画されています。メニュー項目が再描画されると、エミュレートされたカーソルの上に描画されます (カーソル レイヤーの再描画はトリガーされません)。興味深いことに、メニュー項目を JButton または JLabels に置き換えると、メニュー項目が再描画されるたびにカーソルが正しく描画されます。

階層化されたペインで repaint() を直接呼び出さずに、メニュー項目を再描画すると、上位層の影響を受ける領域も再描画されるようにするにはどうすればよいですか? 私が説明した状況は、現実からいくらか単純化されています。メニュー項目は、階層化されたペインの子に深くネストされている可能性があり、階層化されたペインについてまったく認識すべきではありません。

以下は、私が説明した内容を示す疑似コードのスニペットです。

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

java - コントロールに表示されるトレイを実装するにはどうすればよいですか?

次のような画面があります。

そして、ボタンAをクリックすると、描画しているJComponentの上にトレイがポップアップするようにしたいと思いますか? これをどのように実装するのが最善ですか?レイアウト マネージャーを無視して、キャンバスまたは何らかの階層化されたペインとして使用している JComponent に追加することでしょうか。

JPopupMenu と提案されたトレイを区別するため。

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

java - 動的GUIサイズ

GUIアプリケーションで一部のJPanelのサイズを変更すると、この問題が発生します。アプリケーションには、他の2つのJPanelを含むメインのJLayeredPaneがあります。JPanel 1には、ログインフォームとボタンがあります。ボタンを押すと、最初のJPanelを非表示にし、2番目のJPanelを表示したい(このパネルは最初のパネルよりも大きい)が、同じサイズのままです。以下は、いくつかの関連するコードです。誰か助けてもらえますか?

そしてクリックされたボタンコード:

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

LE:

ボタンの場合:

関数:

0 投票する
3 に答える
5253 参照

java - paintComponent() が repaint() によって呼び出されないのはなぜですか?

カスタム JComponents を JLayeredPane に描画するプログラムに取り組んできましたが、コンポーネントの repaint() へのすべての呼び出しは何もしていないように見えますが、ウィンドウのサイズが変更されると、paintComponent メソッドが自動的に呼び出されます。

ここで与えられたアドバイスのいくつかに従っています: なぜ paint()/paintComponent() が呼び出されないのですか?

しかし、解決策のどれも私の問題を解決していないようです.EDTでswingコンポーネントを更新し、repaint()を呼び出す前にコンポーネントサイズを手動で設定し、オーバーライドされたpaintComponent()でsuper.paintComponent(g)を呼び出し、フレームでrevalidate()を呼び出します新しいコンポーネントの追加 (ただし、この場合は明らかに問題ではありません)

通話を停止している可能性のあるアイデアはありますか? 前もって感謝します :)

ビューと SVGElementContainer のコードは次のとおりです。view.setFile() は、新しいドキュメントを表示する必要があるときに呼び出されるエントリ ポイントです。

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

jlayeredpane - JLayeredPane 内の JTabbedPane

私はいくつかのカスタムダイアログを備えたフルスクリーンアプリを持っており、それらを現在のレイヤーの上にレイヤーを追加できるようにする必要があります。JLayeredPane を使用することを選択したので、デフォルトレイヤーに tabbedPane を追加し、internalframes をモーダルレイヤーですが、JLayeredPane に何も表示させることができません。ただの濃いグレーです。

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

java - Java: 異なるレイヤー コンポーネントの mouseAdapter を定義する jLayeredPane の問題

Java GUI で jLayeredPane を使用しています。jLayeredPane の DEFAULT_LAYER にいくつかのパネル (jPanelsLayer1) を追加しました。また、各 jPanel には、目的のために mouseEntered と mouseExited をオーバーライドする MouseAdapter があります。jPanelsLayer1 の上にある JlayerdePane の PALETTE_LAYER に別のコンポーネント (jPanelsLayer2) を追加し、それらに MouseAdapter を定義すると、問題が発生します。マウスが共通領域に入ると、異なるレイヤーの jPanel の mouseEntered と mouseExited が数回連続して実行されます。jpanelLayer1 の上に表示されている場合は、jPanelslayer2 の mouseAdapters のみをアクティブにします。おそらく解決策は、jPanelLayer1 mouseAdapter を削除することです。しかし、これは効果的ではありません。

私を案内してください.....サジャド

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

java - JLayeredPaneで重複するコンポーネント

JLayeredPaneに2つのコンポーネントを追加しました。
1. JWebBrowser
2. JPanel

JWebBrowserとJPanelを異なるレイヤーに追加しました。JWebBrowserは0、つまり最下層にあり、JPanelは第1層にあります。

ここで問題となるのは、JWebBrowserレイヤーがJPanelレイヤーとオーバーラップしていることです。

moveToFront()メソッド、実行時の位置の定義、両方のコンポーネントを同じレイヤーに配置する、componentZorderを使用するなど、さまざまなことを試しましたが、それでも問題は同じです。

JPanelレイヤーがJWebBrowserレイヤーに戻る原因がわかりません。

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

java - JScrollPane 内の JLayeredPane 内の JTable - どのように動作させるのですか?

JTable から出てくるオブジェクトをその上に重ねて配置したいので、JLayeredPane を使用するのは自然なことのように思えます。ただし、これを適切にペイントする、ヘッダーを適切に行うなどは非常に困難です。これを行うにはどうすればよいですか:

  • 行ヘッダーが表示され、スクロールすると一致します
  • 列ヘッダーが表示され、スクロールすると一致します
  • テーブルは適切に描画されます
  • サイズ変更によってすべてが台無しになるわけではありません

JDesktopPaneextendsであるためJLayeredPane、この質問への回答では、 のJTable背後に (または他のコンポーネント)を持つこともできることに注意してくださいJDesktopPane