1

Java でスライド ショー プログラムを作成しようとしていますが、できるだけ簡単に実装したいと考えています。

目標は、一連のスライドを表示することです。各スライドには、スライドのコンテンツに依存するその他のボタンに加えて、ナビゲーション ボタンがあります。(テキストを表示するmagnifyTextButtonスライドには があり、画像を含むスライドにはこのボタンはありません。)

Slideスライドの種類ごとにサブクラスを持つ抽象クラスが適切であると考えていました:TextSlideImageSlide. 他のスライドではなく s にmagnifyTextButton表示されるように、これらのサブクラスをどのように実装すればよいでしょうか?TextSlide

また、私のSlideクラスは拡張しJFrameます。Slideショーが PowerPoint のように単一のウィンドウで行われるように設計されている場合、サブクラスの各インスタンスはJFrame オブジェクトを作成する必要がありますか?

4

3 に答える 3

3

magnifyTextButton が TextSlides に表示され、他のスライドには表示されないようにするには、これらのサブクラスをどのように実装すればよいでしょうか?

拡大ボタンを表示するかどうかを決定するフラグを取得できます。そのフラグは、TextSlides では true になり、その他では false になります。または、このボタンを TextSlide に直接配置して、他のボタンに配置することもできます。この方法では、何もチェックする必要はありません。また、拡大に関連する処理は、TextSlide という 1 つのクラスでのみ行われます。

スライドのサブクラスの各インスタンスは、ショーが PowerPoint のように単一のウィンドウで行われるように設計されている場合、JFrame オブジェクトを構築する必要がありますか?

私の意見では、クラス化されたスライドは拡張する必要がありJPanelます。1 つのフレームでパネルを簡単に変更できます。

これに役立ついくつかの質問/回答:

于 2012-07-06T04:41:57.600 に答える
3
于 2012-07-06T04:46:13.137 に答える
1

ここではたくさんのことが起こっていますが、私が手伝ってくれるかどうか見てみましょう。

1:「magnifyTextButton」のレイアウト方法には2つのオプションがあります。1つ目は、それを。専用のメソッドにすることTextSlideです。ImageSlideについて何かを知る必要がある理由はありませんmagnifyTextButton。この形式では、包括的な抽象クラスに「draw」抽象メソッドがあります(これはインターフェースとして残したほうがよい場合があります)。私はこの方法が次の方法ほど好きではありません。

他のオプションは、デコレータを作成するMagnifyTextButtonことです。このようにMagnifyTextButtonして、テキストを含む他のクラス(の拡張子、TextSlide非常によく必要な場合があります)を組み合わせて組み合わせることができます。これにより、より多様性が得られ、Slideクラスが知る必要のある情報がさらに少なくなりMagnifyTextButtonsます。

2:これをJframeではなくJpanelにしたいと思います。

于 2012-07-06T04:50:08.233 に答える