ensuite tu récupère tes images comme suit :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images\\parapsy2.gif"),"Télépathie"); et ce n'est pas beau dutout soit tu fais :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images/parapsy2.gif"),"Télépathie"); qui seras lisible aussi bien sous windows que sous linux et mac
soit tu fais :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images" + File.separator + "parapsy2.gif"),"Télépathie");
Puis évite les accents dans du code utilise soit l'unicode soit le HTML vu que tu es en swing (exemple new JButton("<htmL>Héhé</html>") ou encore JButton("H\u00e9h\u00e9")).
et c'est fanchement pas bien vu que sous linux ou mac le LAF windows n'existe pas !
pourquoi ne pas faire :
....
setLookAndFeel();
try {
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame.setDefaultLookAndFeelDecorated(true);
System.setProperty("sun.awt.noerasebackground", "true");
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage());
}//fin catch
....
public static void setLookAndFeel() {
String laf = "";
String os = System.getProperty("os.name").toLowerCase();
if(os.startsWith("windows"))
laf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
else if(os.startsWith("mac"))
laf = "javax.swing.plaf.mac.MacLookAndFeel";
else
laf = "javax.swing.plaf.metal.MetalLookAndFeel";
try {
UIManager.setLookAndFeel(laf);
} catch (Exception e) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage(), "ERREUR", JOptionPane.ERROR_MESSAGE);
}
}
}
sinon sur le point de vue fonctionnel je ne peux pas le tester sans modifier le code ce que je ne ferais pas
Bon ok, je sors.
Et non, c'est le symbole que tu devines, pas le nombre de départ.
Dans la classe TelepathieFrame :
pourrais-tu changer le tableau
private final static List<String> symboles = Arrays
.asList(new String[] { "A", "C", "D", "F", "G", "H", "J", "K", "M", "P", "R", "S",
"T", "W", "X", "Z", "#", "^", "_", "[", "]", "{", "}", "§", "©", "®", "",
"£", "¥", "æ", "Ø", "¶", "", "ß"});
qui ne passe absolument pas sur les autres systèmes d'exploitation qui n'on pas le meme encodage des caractères que toi.
alternative :
private final static List<String> symboles = Arrays.asList(new String[] {
"A", "C", "D", "F", "G", "H", "J", "K", "M", "P", "R", "S",
"T", "W", "X", "Z", "#", "^", "_", "[", "]", "{", "}", "\u00a7", "\u00a9", "\u00ae", "",
"\u00a3", "\u00a5", "\u00e6", "\u00d8", "\u00b6", "", "\u00df"});
voici l'url d'un applet qui te donne la liste des codes unicode http://mindprod.com/applets/unicode.html
ensuite tu récupère tes images comme suit :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images\\parapsy2.gif"),"Télépathie"); et ce n'est pas beau dutout soit tu fais :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images/parapsy2.gif"),"Télépathie"); qui seras lisible aussi bien sous windows que sous linux et mac
soit tu fais :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images" + File.separator + "parapsy2.gif"),"Télépathie");
Puis évite les accents dans du code utilise soit l'unicode soit le HTML vu que tu es en swing (exemple new JButton("<htmL>Héhé</html>") ou encore JButton("H\u00e9h\u00e9")).
Dans la classe TelepathieMain :
tu fais :
plaf_name = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try {
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame.setDefaultLookAndFeelDecorated(true);
System.setProperty("sun.awt.noerasebackground", "true");
UIManager.setLookAndFeel(plaf_name);
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage());
}//fin catch
et c'est fanchement pas bien vu que sous linux ou mac le LAF windows n'existe pas !
pourquoi ne pas faire :
....
setLookAndFeel();
try {
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame.setDefaultLookAndFeelDecorated(true);
System.setProperty("sun.awt.noerasebackground", "true");
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage());
}//fin catch
....
public static void setLookAndFeel() {
String laf = "";
String os = System.getProperty("os.name").toLowerCase();
if(os.startsWith("windows"))
laf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
else if(os.startsWith("mac"))
laf = "javax.swing.plaf.mac.MacLookAndFeel";
else
laf = "javax.swing.plaf.metal.MetalLookAndFeel";
try {
UIManager.setLookAndFeel(laf);
} catch (Exception e) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage(), "ERREUR", JOptionPane.ERROR_MESSAGE);
}
}
}
sinon sur le point de vue fonctionnel je ne peux pas le tester sans modifier le code ce que je ne ferais pas