4

私はAndroidでクライアント用の大きなアプリケーションを構築していました。新しいプロジェクトは、JavaでPC用の同じアプリを構築することです。そこで、スイングを使って開発を始めました。Androidでビルドするときは、コンテンツビューを持つアクティビティを含むクラスを使用し、アクティビティを切り替えることができます。Javaでは、JFrameを拡張する複数のクラスを作成しましたが、それらを切り替えたいと思います。これへの正しい方法は何ですか?

これは:

new_class.setVisible(true);
old_class.setVisible(false);

正しい方法は?

4

2 に答える 2

8

Swingを使用する一般的なアプローチは、適切な戦略を使用して、すべてのGUI要素の「画面」を1つのトップレベルのコンテナーに結合することです(通常はCardLayout、ですが、悪魔は詳細にあります)。 このGUIには、他のいくつかのオプション(JSplitPaneおよびネストされたレイアウト)が表示されます。

他の多くの選択肢については、この回答も参照してください。


論理的に別のコンテナに含まれるその他の機能については、(おそらく)モーダルダイアログまたはを使用してJOptionPaneください。EGログイン、メインフレームからポップ


考慮すべきもう1つの点は、Swing(デスクトップモニターを使用)を使用すると、より豊富なコンポーネントのセットをユーザーに提供できることです。たとえば、Android SDカードファイルシステムをサーフィンするには、通常、ディレクトリごとに1つのリストを使用し、リストの内容を変更するか、新しいディレクトリに入るときに表示します。Swingでは、そのためにシングルJTreeを使用する場合があります。したがって、デスクトップGUIツールキットでは、タブや電話で使用するように設計されたものよりも、「異なる画面」の必要性がはるかに少なくなります。

これは、ファイルブラウザで使用されるツリーです。

于 2012-05-28T08:28:34.997 に答える
0

正しい方法は、これらからインスタンスを作成し、JFramesその可視性を設定することです。

 new Fram1().setVisible(true);

 new Fram2().setVisible(true);
于 2012-05-28T08:18:48.747 に答える