2012-04-16 8 views
0

に言わんではないだろうと*、私は次のコードでGCanvasを拡張するクラスにコンポーネントリスナーを追加しました:。クラス拡張GCanvasはjava.awt.eventのをインポートした後addComponentListener

public NameSurferGraph() { 
addComponentListener(this); 
nameList = new ArrayList<NameSurferEntry>(); 
} 

public void componentHidden(ComponentEvent e) { } 
public void componentMoved(ComponentEvent e) { } 
public void componentResized(ComponentEvent e) { update(); } 
public void componentShown(ComponentEvent e) { } 

public void update() { 
removeAll(); 
drawBackground(); 
if (nameList.size()>0) { 
for (int i=0; i<nameList.size(); i++) {; 
drawLineForOneName(i); 
} 
} 
} 

しかし、別のクラスのメソッドを呼び出すと、何も起こりません。

public NameSurferGraph graph = new NameSurferGraph(); 

public void graphName(String name) { 
entry = database.findEntry(name); 
graph.addEntry(entry); 
graph.update(); 
} 

私が間違っていると思われることについてのアイデアはありますか?

答えて

0

あなたは十分なコードを提供していないとして、私は推測することができます:removeAll();

あなたの呼び出しはnameListからすべての要素を削除し、そのifは、ループ、それがなかった場合でも(ループに入るからあなたを停止します空のコレクションのサイズが0であるため、ボディは0回実行されます)

+0

大量のコードを残して申し訳ありません。あなたの質問を更新したり、新しい質問を投稿したりするために、このような形式の適切なフォームがありますか? –

+0

(私はちょうど昨日に参加したので、まだ私の周りを感じています) –

+0

はい、あなたの質問を更新することができます - タグの下の "編集"リンクをクリックしてください – Attila

関連する問題