2011-01-29 4 views
0

私はstickynote pngイメージを持っています。基本的には実行時にデータベース内のデータを取得し、JPanelにデータベース内のレコードがあるので印刷します各pngの上にテキストが表示されるので、付箋のタイプのルックアンドフィールがあります。JPanelで印刷されたイメージの動的量

私の問題は、ループスルーして画像を作成しようとするとき、それぞれに別の画像オブジェクト参照が必要か、同じ画像オブジェクトをループ内で再利用できますか?このコードは、JPanelを拡張しているクラスのpaintComponentにあります。私はこれについてすべて間違っていると思っているように感じます。

for example for(i=0;i<recordCount; i++ 
{ 
    Image image = new ImageIcon("mysticky.png").getImage 
} 

私の問題は、これがJpanelに置かれた新しいイメージをそれぞれ上書きすると思います。これを行う最善の方法は何ですか?ありがとう!

+2

おそらく、画像を変更してJLabelにドロップし、JLabelをJPanelに追加することができます(おそらくGridLayoutまたはBoxLayoutを使用します)。 paintComponent()をオーバーライドする必要はありません。 –

+0

しかし、変数/画像とJLabelsの可変量が潜在的に存在する可能性があるため、どのように名前を変えていくのですか?私は本当に実行時に作成された基本的に乱数の変数のこのコンセプトに苦労しています。私は解決策を概念化していないと思う。より具体的なコード例を教えてください。ありがとう – Fooby

答えて

0

イメージが1つだけ必要です。

用途:

ImageIcon image = new ImageIcon("mysticky.png"); 

@Override 
public void paintComponent(Graphics g) { 
    super.paintComponent(g); 
    for(ImagePanelImage nextim : backgroundImages) { 
     g.drawImage(image.getImage(), 0, 0, image.getIconWidth(), image.getIconHeight(), this); 
    } 
} 

は、Javaの「背景画像」の概念のためにウェブを検索することもできます。

関連する問題