Bonjour
Comportement bizarre, effectivement, le programme "Sdk" ci-dessous se comporte différemment sous Eclipse en fonction du JRE qui le lance.
le Pc est un Fujitsu-Siemens tournant sous Vista familial
La version de Java est la 1.6.0_13
Pour le JRE si, sous Eclipse, je choisis jre1.6.0_07 je n'ai aucun problème et cela fonctionne correctement depuis la compilation sous Eclipse 3.4.2, son "export" en Sdk.jar et finalement la création d'un fichier d'installation Sdk-Ins.jar élaboré sous IzPack. Donc sous jre1.6.0_7 tout est OK.
Dans Eclipse si je choisis Jre6, après compilation, la méthode "paintComponent(Graphics g)" (en rouge dans le code ci-dessous) s'exécute deux fois et je me retrouve avec le cadre initial à fond gris affiché c'est à dire sans ma première image. Il semble donc que le système ne se mette en attente d'interruption qu'au second tour...
Quelqu'un a-t-il une idée concernant cette anomalie? D'avance merci...
Le programme a la structure ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.io.*; import java.net.*; public class Cadre extends Jframe { public Cadre(){ ... Définition et affichage d un cadre qui recevra différentes images } public static JPanel phase_1; public class Phase_1 extends JPanel implements KeyListener, MouseListener, MouseMotionListener { public Phase_1(){ ... Récupération des différentes images } public void keyPressed(KeyEvent e){ ... Traitement des interruptions du clavier } public void keyTyped(KeyEvent e){} public void keyReleased(KeyEvent e){} public void mousePressed (MouseEvent e){ ... Traitement de l interruption «appui» sur boutons de la souris } public void mouseReleased(MouseEvent e){ ... Traitement de l interruption «relachement» boutons de la souris } public void mouseEntered (MouseEvent e){} ... Non utilisé public void mouseExited (MouseEvent e){} ... Non utilisé public void mouseClicked (MouseEvent e){} ... Non utilisé public void mouseMoved (MouseEvent e){ ... Traitement de l interruption «déplacement» de la souris } public void mouseDragged (MouseEvent e){} ... Non utilisé public class ExitListener extends WindowAdapter { public void windowClosing(WindowEvent event){ ... } } public boolean isFocusTraversable(){ ... } public void paintComponent(Graphics g) { super.paintComponent(g); ... Affichage des différentes images } } } public class Sdk { public static void main(String[] args){ ... Cadre cad = new Cadre(); cad.setVisible(true); } }
Partager