問題タブ [cardlayout]
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 - CardLayout と JPanels の手動追加/削除の何が特別なのですか?
StackOverflow では、ユーザーがこのような質問をすることが何度もありました...
JPanel
child を含むmainがありますJPanel
。ユーザーがボタンをクリックすると、子JPanel
は別の に変更されますJPanel
。どうすればこれを達成できますか。
多くの場合、ユーザーは実際にこの問題を実装しようとしましたが、機能させることができません。
この質問に答えるときはいつでも、このようなことをするように言います(簡単に言えば)...
これは非常に正当な答えだと思います。個人的には、これを自分の Java プロジェクトの多くで問題なく使用しています。しかし、私はいつも私の答えに反対票を投じており、誰もが「使用するCardLayout
」と言っています。
だから私の質問は、なぜ誰もCardLayout
が私の答えに反対票を投じるに値するほどに魅了されているのですか? CardLayout
上記のコードを使用してパネルを追加/削除するのではなく、使用することを選択する必要があるのはなぜですか?
CardLayout
さらなる質問として、動的な JPanels を持つインターフェイスを引き続き提案していただけますか。たとえば、私のプログラムのほとんどはカスタム プラグイン フレームワークを実装しており、何百ものJPanels
. プログラムの通常の使用では、ほとんどのパネルが実際に読み込まれたり必要になったりすることはありません。このタイプのシナリオでは、私のコーディング アプローチが最善の解決策CardLayout
でしょうJPanels
か?
java - Swing CardLayout
同じ識別子を持つ 2 つのカードを追加するときの cardlayout のデフォルトの動作は何ですか。たとえば、panel1
追加された場合。プログラムの後半でpanel2
、同じ文字列識別子を追加します。カード スタックでpanel1
置き換えるデフォルトの動作はありますか? panel2
ありがとう
netbeans - カードレイアウトを使用するときに最大サイズにする
cardLayoutを使用して親JPanelまたはJFrameに複数のJPanelを追加すると、サイズはそれらすべての中で最大のJPanelに設定されます。カードを切り替えるたびに、JFrameが各JPanelに最適なサイズになるようにします。最大のもののサイズではなく、各JPanelの元のサイズにしたい
java - CardLayout/button ActionListeners を動作させることができません
私はそれをどのように設定したか、そしてactionlistenerがフレームまたは何かに正しく設定されていないことに関係していることを知っていますが、私はそれについて聞くことができません。誰かが私を正しい方向に向けることができれば、私は大いに義務付けられます. 初心者の質問で申し訳ありません。
ここに私が持っているものがあります:
java - JavaでのCardLayoutの使用
現在、メニュー付きのゲームを作ろうとしています。メニューはこんな感じ。 http://puu.sh/xGoC
理想的には、ボタンを押すとゲームに移動します。ゲームはこんな感じ。 http://puu.sh/xGoV
現在、メニュークラスまたはゲームクラス(どちらもJPanels)を実行するメインクラスでJFrame()を初期化します。
CardLayoutを使用してゲームメニューを初期化し、ボタンをクリックしたときにパネルをゲームパネルに変更するにはどうすればよいですか?
java - CardLayoutフォーカスJava
キーボード入力を機能させようとしていますが、何も検出されません。おそらく、CardLayoutを使用していて、show()
関数を呼び出したときにフォーカスが正しく設定されていないためです。
現在はこんな感じです。
どんな助けでも大歓迎です。
java - CardLayoutで異なるカードを表示するには?
このコードを使用したコード例を見ました。
しかし、使用するshow
と、Eclipse で廃止されたというメッセージが表示され、ボタンをクリックしたときに CardLayout に別のカードを表示する別の方法があるのだろうか? 以下は、私の CardLayout クラスのコードです。コードの一部が悪い習慣である場合の提案も歓迎します。ありがとう!
java - CardLayout の問題
多くの異なる JPanel を反転する JFrame を拡張するこのメイン ウィンドウがあるので、この種の動作には CardLayout が役立つと思いました。
CardLayout に 2 つのペインを追加しました。1 つのペインが他のペインよりも大きくなっています。両方のペインを追加すると、最初の小さい方が表示され、2 番目の大きい方は表示されませんでした (良い動作)。最初のペインの下に巨大なスペースを残しました。
CardLayout でサイズがどのように機能するかはわかりませんが、pack() には応答しません。特定のアルゴリズムを使用して、レイアウトの優先サイズを把握しているようです。
誰でもアイデアを得ましたか?
java - カードレイアウトの抽選
カードレイアウトで画像を描画する際に発生した問題を説明する以前の投稿を作成しました。限られたサポートしか受けられず、問題を解決できませんでした。そのため、有効な助けが得られることを期待して、この投稿を再度説明しています。
Java ゲームのタイトル画面を作ろうとしています。私は2つのJavaファイルを作りました。最初のファイルは cardlayout をロードし、次のファイルはタイトル画面をロードします。しかし、どういうわけか、2番目のファイルで背景画像を描画できません。エラー メッセージは表示されません。単に何も描画しません。
最初のファイル:
2 番目のファイル:
編集
画像表示の問題があるコードの正確な部分を SSCCE に抽出できますか? また、使用されている画像へのリンクも添付してください。破損している可能性があります。その場合、問題はコード内にありません。
どうぞ
java - 遅延初期化が有効なCardLayout?
たくさんのパネルを配置しましたCardLayout
。ここで、n番目のパネルは、(n-1)番目のパネルで発生した状態の変化に依存します。を使用するため、事前にすべてのパネルを初期化して追加するCardLayout
必要があります。そのため、状態の管理が必要以上に難しくなります。
Javaまたは一部のサードパーティのオープンソースライブラリは、CardLayout
構成パネルを遅延的に初期化するバリエーションを提供しますか?つまり、表示される直前に初期化されますか?
編集:
おそらく私は問題を明確に述べていませんでした。もう一度やり直します。
事前にパネルを設定する必要がありCardLayout
ますが、表示されるまで初期化したくありません。これは、前のステージからの状態変化が透過的に次のステージに伝播されるようにするために必要です。
私の現在のコードでは、次のようになっています。
ここでInstallationPathPanel
、ユーザーはデフォルトのインストールディレクトリとは異なるインストールディレクトリを選択できます。ExtractionProgressPanel
このディレクトリに特定のzipファイルを抽出することになっています。遅延初期化された場合ExtractionProgressPanel
、ユーザーが選択したパスは、私が特別なことをすることなく、そのパスに伝播されます。
問題が今明らかになっていることを願っています。