Gérer la fenêtre principale

Quelques "trucs" pour éviter de perdre du temps lors de la création de la JFrame principale...

Utiliser les couleurs du système hôte

import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
[...]
try {
            UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }

Paramétrage par défaut

La fenêtre ferme l'application quand elle se ferme. Elle contient un titre, une icone personnalisée, et affiche un message en bas d'écran.

public Fenetre() {
        fenetre = new JFrame();

String iconeName = "images/poisson.png";

        fenetre.getContentPane().setLayout(new BorderLayout());
        fenetre.setTitle("Titre de la fenêtre");
        menu = new MenuMain();
        fenetre.setJMenuBar(menu.getMenu());
        fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        message = new JLabel("Prêt");
        fenetre.setIconImage(Toolkit.getDefaultToolkit().getImage(iconeName));
        reset();
}
public void reset() {
        fenetre.getContentPane().removeAll();
        message.setBorder(BorderFactory
                .createEtchedBorder(EtchedBorder.LOWERED));
        fenetre.getContentPane().add(message, BorderLayout.SOUTH);
        fenetre.validate();
    }
    /**
     * Affiche un message dans le bas de la fenêtre
     *
     * @param pMessage
     */
    public void setMessage(String pMessage) {
        message.setText(pMessage);
    }