Ich habe eine private Sub-Klasse erstellt, die ein Hintergrundbild schön anhand der von mir überschriebenen "paintComponent" Methode skaliert. Code zur Veranschaulichung anbei:
Auf folgender Seite steht ganz unten das man die Performance steigern kann, indem man mit BufferedImage arbeitet.
Wie kann man in Java zeichnen? ? Informatik
Ich vermute mal, dass dies so ablaufen soll, dass man das Bild in der "paintComponent" immer nur in den BufferedImage zeichnet und nur einige wenige Bilder dann auf den contentPane weitergibt und so die Performance erhöht.
Meine Frage ist jetzt, wie erklärt man seinem Programm wann es etwas wirklich auf den contentPane zeichnet ?
Java:
private class bgDrawing extends JPanel {
private static final long serialVersionUID = 1L;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
int x = getContentPane().getWidth();
int y = getContentPane().getHeight();
bgScaled = bgOriginal.getScaledInstance(x,y, Image.SCALE_SMOOTH);
if (bgScaled != null) {
g.drawImage(bgScaled, 0, 0, this);
}
}
}
Auf folgender Seite steht ganz unten das man die Performance steigern kann, indem man mit BufferedImage arbeitet.
Wie kann man in Java zeichnen? ? Informatik
Ich vermute mal, dass dies so ablaufen soll, dass man das Bild in der "paintComponent" immer nur in den BufferedImage zeichnet und nur einige wenige Bilder dann auf den contentPane weitergibt und so die Performance erhöht.
Meine Frage ist jetzt, wie erklärt man seinem Programm wann es etwas wirklich auf den contentPane zeichnet ?
Zuletzt bearbeitet: