2011-12-29 6 views
0

私は、Javaが私の必要とするようにするさまざまな方法をゆっくりと感じていますが、私は自分のキャンバスのようなクラスを書くときに問題に遭遇しました...アプレットを拡張せずにアプレットメソッドを使用するにはどうすればよいですか?

私のクラスcreateImage(myMemoryImageSource);repaint();を呼び出すと、私のアプレットの主な「実行」メソッドから複雑さを取り除こうとします。それはアプレットから延びていない限り

java.awt.*java.awt.image.*java.applet.*を含むにもかかわらず、このクラスがコンパイルされません。私のクラスは本当に単なるキャンバスクラスなので、アプレットを拡張したくないのが好きです。

私は重要なインクルードがありませんか、自分のキャンバスクラスをどのように実装しなければならないのかという大きな誤解がありますか?

答えて

0

あなただけのキャンバスからクラスを拡張する必要があります。

+0

Bang on。それは迅速な修正でした。どうもありがとう! – Paperfish

+0

それを聞いてうれしい。 – jarCrack

0

サブクラス化しない場合は、上記のメソッドを呼び出すことができるインスタンスが必要です。また、慣例により、コンポーネントをカスタマイズする場合は、サブクラス化することをお勧めします。

例 -

final class Foo extends JFrame{ 
    Foo(){ 
     super("Foo Frame"); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     . 
     . 
     . 
    } 
} 

または

final class Foo{ 
    private final JFrame frame; 
    Foo(){ 
     frame = new JFrame("Foo Frame"); 
     frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     . 
     . 
     . 
    } 
} 
+0

お返事ありがとうございます!あなたの事例は、私の小さなプロジェクトで進歩するにつれ、確かに有益であると証明されます。 – Paperfish

関連する問題