Bild einmal aus Datei laden und in Klasse speichern

  • Themenstarter Themenstarter fibonius
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
F

fibonius

Gast
Hallo,

ich habe die Klasse "Ball", die das BufferedImage "bild" enthält. Von Ball erstelle ich mehrere Objekte. bild soll bei Programmstart aus Ball_Bild.jpg geladen werden.

Bisher mache ich es so, dass ich die JPG-Datei im Konstruktor lade. Dann muss diese Datei aber jedes mal, wenn ich ein neues Objekt erstelle, neu geladen werden, was sich negativ auf die Performance auswirkt.
Eine andere Variante wäre vielleicht, das Ball-Bild in einer anderen Klasse "Bilder" speichere. Von Bilder erstelle ich nur ein Objekt und im Konstruktor wird die JPG-Datei geladen. Das ist jedoch etwas umständlicher.

Wie realisiere ich es, dass ich die JPG-Datei nur einmal öffne und öfter darauf zugreifen kann? (bspw. statisch über Ball.bild)
 
also das ganze soll in etwa so aussehen:
Code:
class Ball{
BufferedImage=bild;
}

class Haupt{
public void main(String[] args){
meinBall1=new Ball();
meinBall2=new Ball();
zeigeBild(meinBall1.bild);
zeigeBild(meinBall2.bild);
}
public void zeigeBild(){
...
}
}

Das BufferedImage bild soll jetzt einmal geladen werden und in jedem Objekt vorhanden sein.
 
mach das bild in deiner klasse ball static und lasse es beim laden der klasse mitladen ...

Code:
class Ball {

private final static BufferedImage bild;

static {
    bild = ladeBild();
}

public Ball() {
...
}

}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben