2011-12-27 5 views
0

私のプログラムは、さまざまなデータ構造のアルゴリズムをアニメーション化するために使用されており、移動するすべてのオブジェクトを作成する必要があります。Jpanelのグラフィックスを別のクラスにする

私はGraphicsクラスを使ってみましたが、パネルを持つクラスに線やボックスを描画するメソッドを作成する必要があるようです。パネルを持つクラスのインスタンスから描画する方法はありますか?

今、私は以下のようにラベルを使用して動作するリストを持っています。

animは、アニメーションオブジェクトが配置されるパネルです。グラフィックスでdrawline()メソッドを必要とするグラフに対してPathObjectというクラスを作成しようとしていますが、グラフィックスを追加する方法が見つからないanimです。 助けがあれば助かります。

package Objects; 

import javax.swing.*; 

import Algorithms.Animated; 


/** Animated object to be displayed as part of a list */ 
public class ListObject<T extends Number> extends AnimObject<T> 
{ 
    // Constructor 
    public ListObject(Animated anim, T val) 
    { 
    super(anim, val); 

    Setscale(20, val.intValue()); 
    } 
} 
+0

ここに何が問題なのかよく分かりません。 'AnimObject'とは何ですか? – mre

+0

すぐに役立つように、[SSCCE](http://sscce.org/)を投稿してください。 –

答えて

1

(ワン優しい請願:小文字でパッケージ名、メソッド名小文字を始めと)

私が正しくあなたを理解していれば、次のように行います:

あなたは、インターフェイスを持つことができます何かを描画するオブジェクトの場合:

public interface Drawable { 
    void paint(Graphics2D g); 
} 

リストオブジェクトはimplements Drawableになります。

public void addDrawable(Drawable drawable) { 
    drawables.add(drawable); 
} 

をし、そのpaintComponentにあなたがそれらを描くことができます:

アニメーション(JPanelのは)可能性があります。

独自の軽量コンポーネントを構築する方法です。

関連する問題