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

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

java - カードレイアウトのやり直し-MVCアーキテクチャへの適用

それで。申し込みをしました。2つのパネルを作成するmainFrameがあり、1つはウィザードに似たボタン(たとえば、[次へ]、[前へ])を保持し、もう1つはcardLayoutを保持し、mainFrameで宣言した次または前のパネルに移動できるようにします。検証可能なインターフェイスを使用することで、すべてのウィンドウクラスのisDataValid()関数をオーバーライドできます。この関数は、[次へ]ボタンと[前へ]ボタンでカードレイアウトフリップ関数を呼び出すかどうかを決定します。

ソースコードは以下のとおりです。

でも。このアプリケーションをModel-View-Controllerアーキテクチャにやり直したいのですが、これは、Windowクラス(つまり、ビュー)に検証コードがなくなったことを意味します。したがって、データを検証するために、古いWindowクラスをWinViewクラス(Win1)、それぞれインターフェイス(Interface1)とモデルに分割しました。

私のメインフレームは今のところ同じように見えます。新しいアーキテクチャを計画しようとすると、行き詰まります。MVCアーキテクチャをどのようにバインドする必要がありますか?現時点で次と前のボタンがどのように機能するかについては非常に満足していますが、現在のようにどういうわけかまだそれらを使用することは可能ですか?

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

java - 起動後にJFrameのレイアウトマネージャーを変更するにはどうすればよいですか?

背景:私は「地獄からのGUI」プログラムに取り組んでいます。

問題: JFrameのレイアウトマネージャーをコンストラクターセットのBorderLayoutからFlowLayoutに変更する必要があります。

目的:ボタンが押された後、それは何回も非常に速く実行され、その後、いずれかのレイアウトマネージャーに行き着きます。

これを最もよく達成するにはどうすればよいですか?これが役立つ場合は、いくつかの(動作する)コードを次に示します。

よろしくお願いします!

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

java - Java、swing アプリケーションでグローバル データベース セッションを維持

Ok。2 つのコンテナーを含むメインフレームがあります。1 つは私のウィザードに似たボタンを含み、もう 1 つは contentPane を含みます。Window1、Window2 などのいくつかのクラスをメインフレーム クラスでインスタンス化してから、contentPane に表示する Window クラスを決定する cardLayout を介してトグリングします。

これらの各 Window クラスには、データベースへの接続が必要です。現在、ウィンドウ クラスでデータベース接続を個別にインスタンス化していますが、Window1 クラス (ログイン クラスとも呼ばれます) を渡した瞬間からアプリケーションを閉じるまで、何らかの形で接続されているグローバル セッションが必要です。他の Window クラスに到達すると、このセッションを使用してデータベースの読み取りと書き込みを行うことができます。

私のメインフレームクラス:

Window クラスの例:

}

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

java - CardLayout を使用して NullPointerException を取得します

こんにちは、次または前のボタンが押されたときに JTextAreas をナビゲートできる GUI を作成しようとしています。CardLayout を使用して JTextArea を切り替えています。プログラムをコンパイルすることはできますが、次または前のボタンを押すたびに、常に NullPointerException が発生します。次のメソッドと前のメソッドで CardLayout オブジェクトが null である理由がわかりません。そのため、本当に混乱しています。

エラーはこのコードから発生しています

どんな助けでも大歓迎です!

エラーメッセージ* **

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

java - コマンドプロンプト以外で.jarを実行すると、Swingが再描画されません

パネルがたくさんあるプロジェクトがあります。カードレイアウトパネルでカード(jpanel)を切り替える方法が1つあります(以下を参照)。これは、IDE(Netbeans)から実行した場合、およびコマンドプロンプト()からjarを実行した場合にすべて正常に機能しますjava -jar MyStuff.jar。しかし、Jarをダブルクリックすると、カードは変更されますが、repaint望ましくない結果は生成されません(コンポーネントの上にマウスを置くと表示されます)。ボタンをもう一度クリックしてメソッドを再度呼び出すと、適用されます。すぐに助けが必要です:)ありがとう!

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

java - 複数のJlabelのイベントを管理する

CardLayoutでレイアウトされているメインパネルのコンテンツを変更するためのボタンとして使用する複数のJlabelを備えた左側のパネルがあります。

ここに画像の説明を入力してください

私はこれらのイベントを完璧に処理することはできません:

イベントまたはメソッドが見つからないというここでの問題は、別のJlabelがクリックされたため、mouseClickedイベントで開始されたスレッドを停止できることを示しています。

また

イベントまたはメソッドは、CardLayoutのJPanelが表示または非表示になったことを示しています。

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

swing - 他のパネルでの選択に応じて、カード レイアウトの JPanel コンテンツをリセットまたはリロードします。

一連のパネルを作成するためにカード レイアウトを使用しています。

JFrame クラスを作成しました。そして、このフレームクラスのインスタンスに contentPane を取得し、CardLayout を設定します。この contentPane にすべてのパネルを追加しました。

これで、各パネルの「次へ」または「戻る」ボタンのアクション リスナ内で次のメソッドを呼び出すことで、パネル間を移動できるようになりました。

しかし、パネル間を移動すると、値が保持されます (リセットまたはリロードされません)。パネル間を行ったり来たりするときに、パネルをリセットまたはリロードしたい。または、最初のパネルで選択された「ComboBox」オプションに応じて、2 番目のパネルの「テキストボックス」が表示されたときに常に再読み込みする必要があるとします。これを達成するために誰かが私を助けることができますか???

そのような状況で私が従わなければならない理想的な設計(ロジック)は何ですか?私の状況に固有のドキュメントはありますか? カード レイアウトを使用してフォローしている方法は正しいですか? それ以外の場合は、正しいデザインをお勧めします。

ありがとう、チャンドラ

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

java - CardLayoutなどのアクションリスナーで動的JListを再利用する

JListを動的に作成していて、setQuery(query)を呼び出すことができるさまざまなJPanelで使用したいと考えています。その上に。検索ボタン+フィールドも接続されています。コードをどこにでも複製することなく、JList、検索ボタン、検索フィールドを10個の異なるパネルのように配置する方法はありますか?表示されているJPanelによっては、周囲に必要な他のボタン/ GUI要素があるため、別のJPanelに配置することはできません。私はいたるところを見てきましたが、動的JListを再利用することについてはあまり言及されていません。

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

java - JavaアプレットWebデプロイメントの問題

NetBeansを使用したJAppletを動作中のWebサーバーにデプロイするのに問題があります。何が起こるかというと、アプレットがロードされているように見えますが、ロードすると、画面が空白になり、ボタンが表示されなくなります。カードレイアウトデザインを使用しているか、必要なライブラリが.jarに含まれていないことが原因である可能性があります。Atmosラッパー関数といくつかの外部.jarファイルを使用しています。

どんな助けでも素晴らしいでしょう!さらに情報が必要な場合はお問い合わせください!

編集:少し調整しましたが、アプレットページに「エラー、クリックして詳細を表示」というエラーがWebページに表示されます。

これをクリックすると、com / emc / esu / api / EsuExceptionと表示され、[詳細]ボタンをクリックすると、より知識のあるすべてのタイプに役立つ可能性のあるいくつかのデバッグオプションが表示されます。

c:コンソールウィンドウをクリアしますf:ファイナライズキューでオブジェクトをファイナライズしますg:ガベージコレクションh:このヘルプメッセージを表示しますl:クラスローダーリストをダンプしますm:メモリ使用量を出力しますo:ログをトリガーしますq:コンソールを非表示にしますr:ポリシー構成をリロードしますs:システムをダンプしますデプロイメントプロパティt:スレッドリストのダンプv:スレッドスタックのダンプx:クラスローダーキャッシュのクリア0-5:トレースレベルをに設定

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

java - CardLayout のパネルにキーリスナーを追加する

私は単純なゲームを書いています.4つのJPanelsがCardLayoutに配置されたメインフレームがあります。メインフレームは次のようになります。

GameScene パネルがキーボード入力に反応するようになりました。最初にキーリスナーを試しました:

それはうまくいきませんでした...だから私はキーバインディングを試しました(簡単な実装):

まだ機能していません... requestFocus と requestFocusInWindow() を追加しようとしましたが、効果はありませんでした。それを修正する方法またはそれを行う方法はありますか?

解決策が見つかりました。キーバインディングでは、次のように書く必要があります。

の代わりに: