Bonjour,
désolé si le problème que je vais soumettre est enfantin, s'il a déjà été traité de nombreuses fois, si ... mais je n'y arrive pas (heure tardive, fatigue ...).
J'ai copié un exemple sur un livre et cela ne donne pas ce qui est prévu (problème de version de java ?)
Je travaille sous Eclipse.
et la classe UnComposant
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 import javax.swing.*; public class Test { public static void main (String[] args) { JFrame fen = new JFrame("test"); UnComposant unComposant = new UnComposant(); fen.getContentPane ().add (unComposant); fen.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); fen.setSize (300,300); fen.setVisible(true); } }
Quand je lance le programme, la fenêtre s'affiche mais rien est écrit dedans !
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 import java.awt.Graphics; import javax.swing.JComponent; class UnComposant extends JComponent { public void PaintComponent(Graphics g) { g.drawString("Bonjour", 120, 50); } }
Est-on vraiment obligé même pour un cas aussi simple de passer par SwingUtilities.invokeLater ?
Les évolutions de Java font-elles que des exemples aussi simples ne s'exécutent plus de la même façon (le livre que j'ai utilisé est pour Java 1.4, et ma version est la 6.
J'ai mis un system.out.println dans la méthode paintComponant() et j'ai pu constater que celle-ci n'est jamais appelée.
Partager