問題タブ [jpanel]
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 - 複数の Java アプレットの処理
複数のパネルを持つ単純な Java ゲーム アプレットを作成しています。メイン ゲームのパネルには、クリックすると残りのパネルにつながる 4 つの JButton があります。
プログラムを実行すると、最初に init() 内で 4 つのパネルが初期化され、各パネルの初期化内で、すべての Jcomponents を非表示にしましたが、メイン アプレットのみを非表示にしました。
メイン アプレット Called start に JButton があるとしましょう。それが押されたら、すべてのメイン JButton を非表示に設定し、サブ パネルを表示に設定する必要がありますが、それは私にとってはうまくいきません。 repaint() や UpdateUI() と同じですが、まだ機能していません。
どんな提案でも大歓迎です。
乾杯
java - JPanelが反転し、FlowLayoutが意図したとおりに機能しない
先日、このコードは機能していました。いくつか変更して再実行しましたが、意図したとおりに機能しません。明らかに、私が変更したものによって動作が変更されましたが、戻ってそれらの変更をすべて元に戻しましたが、それでも機能しません。(開始するために)そのビットの情報を無視して、なぜこのコードはJPanel内にJLabelの15x15グリッドを配置しないのですか?
gameBoardは、NetBeansのGUIビルダーを介して定義されたJPanelです。推奨サイズ、最大サイズ(優先と同じ)があります。水平/垂直のサイズ変更可能なオプションは無効になっていますが、このコードを実行すると、すべてのボタンが途切れることなく水平方向に連続して拡張されます。
私が正しく理解していれば、FlowLayoutは、要素が含まれている要素の最後に到達したときに要素をラップすることになっています。これは今日以前に起こっていました、なぜこの振る舞いが止まったのか本当にわかりませんか?
java - NetBeans GUI Builderにカスタムパネルを含める方法は?
JPanelを拡張するクラスを作成しました。これをNetBeansGUIBuilderで使用して、すべての自動コード生成に耐えることはできますか?
GUIビルダーでカスタマイズされたコードオプションを使用してオブジェクトを新しいクラスとしてインスタンス化しましたが、宣言をJPanelから変更できないようです。そのため、オーバーライドしたメソッドのみが呼び出され、newを呼び出すことはできません。 JPanelに存在しないもの。
java - ボタンのアクションに応じてフレーム内のパネルを切り替えるにはどうすればよいですか?
ツールバー、メニューバー、およびコンテンツ領域を持つアプリケーションを作成しました。アプリケーション ウィンドウにメニューとツールバーを追加しましたが、ツールバーからクリックしたボタン アクション (追加、表示など) に基づいて、コンテンツ領域にパネルを表示することに固執しています。これは正しい方法ですか?これを行うより良い方法はありますか?
java - Java Swing - パネルを別のパネルの上に表示する方法は?
メンバーの入力を求める内部 (非ウィンドウ) ダイアログが必要です。ダイアログを既存の JPanel の中央に配置したいと考えています。
レイヤードペインを見てきましたが、すべてのペインで単一のレイアウト マネージャーしかない (またはレイアウト マネージャーがない) ため、これらは使用できないようです。JLayeredPane をオーバーライドしてカスタム レイアウトを提供することもできると思いますが、これは極端に思えます。
ガラス板も適切ではないようです。
これはどのように行うことができますか?Swing に使用可能な z-indexes の概念はありませんか?
編集
レイヤー化されたペインが適切でなかった理由は、レイヤーごとのレイアウト マネージャーがないためでした。パネルはサイズ変更可能で、パネル A は領域の 100% のままにし、パネル B は中央に配置する必要があります。
java - JPanel でマウス移動イベントを検出する
次のイベントを検出したいJPanelがあります
(1) マウス移動時
(2) マウスアウト時
(1)は簡単です。(2) ちょっと難しいです。現在、JPanel 周辺のすべてのコンポーネントでイベントを登録する必要があります。JPanel の周囲の隣人がイベントでマウスの動きを検出した場合、これは JPanel が (2) の状況にあることも意味します。ただし、これはかなり汚れています。将来、新しいコンポーネントを追加すると、この汚れた回避策が壊れます。
もう 1 つの方法は、タイマーを使用して JPanel を監視することです。マウスの位置が x 秒以内に JPanel 内にない場合、JPanel でマウス移動イベントが発生していると見なすことができます。
ただし、このような一般的なタスクを実行するために別のタイマーを使用するのはやり過ぎなので、これも私には汚い方法に思えます。
Javaプラットフォームが提供するより良い方法はありますか?
java - JPanel への JPanel の追加
むしろ基本的な質問です。
基本的に、次のようなコードがあります。
そして、それはすべてうまく機能します。問題は、中央に追加したい別の部分があることです。使用するだけadd(newPanel(), BorderLayout.CENTER)
では、明らかに機能しません。JPanel
でも、s にsを追加することはできJPanel
ますよね?
そこで、次の変更を行いました。
であることsupersweetpanel()
で:
これで上書きされますpanel1
!他の何かに設定すると ( CENTER
、SOUTH
、何がありますか)、最初の 2 つのパネルが完全に消えます。助けていただければ幸いです。
java - JPanel を他のパネルの上に積み重ねる
一度にフレームの同じ領域に表示されると想定される 5 つの非常によく似たパネルを作成しました。つまり、アプリがそれらの 1 つ (JPanel0) にスターを付けると、表示され、他の 4 つが作成されますが表示されません。ボタン1を押すと、JPanel1が表示され、JPanel0が非表示になります。すべて同じです。
私はなんとか BorderLayout に近づきましたが、それらすべてを中央の位置に配置することはできません。誰かが私を助けることができますか?どうもありがとうございました!
java - (Java) JPanel 内の JLabel の表示/非表示は、サイズ変更時にのみ非表示になります
私は Java で作業しており、JFrame に JPanel があります。そのJPanelには、とりわけ、自由に表示および非表示にしたいJLabelがあります。可視性を true/false に設定し、JFrame と JPanel に追加したり削除したりしてみました。また、オンラインで調べて、validate()ing と revalidate()ing を無限に試しました。この問題を解決するには、ここで何ができますか?