S
scooterJava
Gast
Ich verwende in einem Programm folgenden funktionierenden Code:
Hier geht es um ein JPanel, dem ein Hintergrundbild zugewiesen wird.
Interessant ist für mich, dass der Aufruf von super() nicht gleich zu Anfang zu stehen braucht. In dieser Methode ist es sinnvoll, super() erst zum Schluss mit dem geänderten oContext aufzurufen (an den Anfang gestellt, würde sich sonst nichts ändern). Allerdings wurde mir immer erzählt, dass super() in einer Methode immer als erste Anweisung zu stehen habe - Eclipse meldet mir aber keinen Fehler, was es sonst tut, wenn super() nicht die erste Anweisung ist.
Kann mir erklären, wie es zu dem unterschiedlichen Verhalten kommt?
Code:
@Override
public void paint( Graphics oContext )
{
Image oPicture = null;
oPicture = Toolkit.getDefaultToolkit().getImage( getClass().getResource( sImage ) );
oContext.drawImage( oPicture, 0, 0, this.getWidth(), this.getHeight(), this );
super.paint( oContext );
}
Hier geht es um ein JPanel, dem ein Hintergrundbild zugewiesen wird.
Interessant ist für mich, dass der Aufruf von super() nicht gleich zu Anfang zu stehen braucht. In dieser Methode ist es sinnvoll, super() erst zum Schluss mit dem geänderten oContext aufzurufen (an den Anfang gestellt, würde sich sonst nichts ändern). Allerdings wurde mir immer erzählt, dass super() in einer Methode immer als erste Anweisung zu stehen habe - Eclipse meldet mir aber keinen Fehler, was es sonst tut, wenn super() nicht die erste Anweisung ist.
Kann mir erklären, wie es zu dem unterschiedlichen Verhalten kommt?