[解決済み] 複数のJFrameを使用すること。グッドプラクティスかバッドプラクティスか?[終了しました]。
2022-03-18 11:49:57
質問
データベースから画像を表示したり、音声を再生したりするアプリケーションを開発しています。GUIからデータベースに画像を追加するために、別のJFrameを使用するかどうかを決めかねています。
複数のJFrameウィンドウを使用することは良いことなのでしょうか?
どのように解決するのですか?
<ブロッククオート複数のJFrameを使用することは良いことなのでしょうか?
悪い(bad, bad)習慣です。
- ユーザーフレンドリー:タスクバーに1つしか表示されないと思っていたのに、複数のアイコンが表示される。 さらに、コーディングの問題による副作用も...。
-
コーディングとメンテナンスの悪夢。
- A モーダルダイアログ は、そのダイアログの内容に注意を向ける簡単な機会を提供します - これを選択/修正/キャンセルしてください。 では が進みます。 複数のフレームはそうではありません。
- 親を持つダイアログ(またはフローティングツールバー)は、親がクリックされると前面に出てきます。それが望ましい動作であれば、フレームでそれを実装しなければなりません。
1つのGUIで多くの要素を表示する方法はいくらでもあります、例えば。
-
CardLayout
(短い デモを行います。 ). に良い。- ウィザードのようなダイアログを表示する。
- 関連するコンポーネントを持つアイテムのリスト、ツリーなどの選択項目を表示する。
- コンポーネントなしとコンポーネントありを反転させることができます。
-
JInternalFrame
/JDesktopPane
は、通常 MDI . -
JTabbedPane
コンポーネントのグループ用です。 -
JSplitPane
2つのコンポーネントを表示する方法で、ユーザーの操作に応じて、どちらか一方の重要度(サイズ)が変化します。 -
JLayeredPane
多くの優れたレイヤーコンポーネントがあります。 -
JToolBar
通常、アクションやコントロールのグループを含む。 ユーザーのニーズに応じて、GUIの周りにドラッグしたり、完全にGUIから外したりすることができます。 上記のように、親がそうすることによって、最小化/復元されます。 -
の項目として
JList
(以下、簡単な例)。 -
のノードとして
JTree
. -
ネストされたレイアウト
.
しかし、これらの戦略が特定のユースケースでうまくいかない場合、次のことを試してみてください。 1つのメイン
JFrame
そして
JDialog
または
JOptionPane
インスタンスが残りのフリーフローティング要素に表示され、ダイアログの親としてフレームが使用されます。
多くの画像
複数の要素が画像であるこの場合、代わりに以下のいずれかを使用するのがよいでしょう。
-
単一の
JLabel
(スクロールペインの中央に)ユーザーがその時点で興味を持っている画像を表示することができます。 例えばImageViewer
.
-
一列
JList
. で見られるように この答え . 一列」の部分は、すべて同じ寸法の場合にのみ機能します。 あるいは、画像をその場で拡大縮小する用意があり、すべて同じアスペクト比(例:4:3または16:9)である場合。
関連
-
[解決済み】JPanelに画像を追加する方法は?
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
spring-boot 401 このリソースにアクセスするには完全な認証が必要です エラー解決
-
Javaエラーメッセージがenclosingクラスでない
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
Exception: java.util.NoSuchElementException: 行が見つかりません
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラー java.util.NoSuchElementException
-
java.util.NoSuchElementException 原因解析と解決方法
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
マスキング このリソースにアクセスするには、完全な認証が必要です。
-
org.glassfish.jersey.servlet.ServletContainer
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
このラインで複数のマーカーを解決する方法