La méthode pack() dimensionne automatiquement la fenêtre (JFrame) : le calcul est effectué en tenant compte des règles d'agencement et dimensionnement des Layout Manager, et des contraintes et préférences d'agencement et dimensionnement des composants de la fenêtre.

@Override est ce qu'on appelle une annotation, dans notre cas, de méthode. Elle indique au compilateur qu'il doit vérifier que la méthode déclarée doit absolument redéfinir une méthode, de signature identique, d'une super classe. Elle permet donc juste de s'assurer qu'on ne s'est pas trompé dans la déclaration de la méthode.

Par exemple si on a une classe A :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public class A {
    public long machinTruc(long x) {
        return x*2;
    }
}
Les classes suivantes ne compilent pas (je fais comme si je m'étais trompé en les écrivant), alors que sans l'annotation elles compileraient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class B extends A {
 
	@Override
	public long machintruc(long x) { // j'ai fait une erreur dans la casse
		return super.machinTruc(x)+1;
	}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class C extends A {
 
	@Override
	public long machinTrc(long x) { // j'ai "oublié" le u
		return super.machinTruc(x)*2;
	}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class D { // j'ai "oublié" le extends A
 
	@Override
	public long machinTruc(long x) {
		return x*3;
	}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class E extends A {
 
	@Override
	public long machinTruc(Long x) { // je me suis gourré dans le type de l'argument
		return super.machinTruc(x)-1;
	}
 
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class F extends A {
 
	@Override
	public long machinTruc(long x, int y) { // cette méthode à deux paramètres n'existe pas dans la hiérarchie de classes héritées 
		return super.machinTruc(x)+y;
	}
 
}
etc.