Quelques "trucs" pour éviter de perdre du temps lors de la création de la JFrame principale...
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();
}
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);
}