Bonjour,
C'est mon 1er interface.
Le code s'exécute parfaitement mais rien ne s'affiche.
Merci pour vos conseils et vos retours.
Pièce jointe 519679
Version imprimable
Bonjour,
C'est mon 1er interface.
Le code s'exécute parfaitement mais rien ne s'affiche.
Merci pour vos conseils et vos retours.
Pièce jointe 519679
Tu n'appeles jamais createAndShowGUI() nulle part, donc forcement rien ne va se passer.
Merci.
Je pensais qu'avec "new Td30Ihm();" cela permettait de faire appel à cette méthode.
En conservant la structure de Td30Demo, où dois je prendre en compte createAndShowGUI ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class Td30Ihm { private static void createAndShowGUI() { JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel textLabel = new JLabel("Hello Swing my friend", SwingConstants.CENTER); textLabel.setPreferredSize(new Dimension(300,200)); frame.getContentPane().add(textLabel, BorderLayout.CENTER); frame.setLocationRelativeTo(null); frame.pack(); frame.setVisible(true); } }
Suite à ce que tu m'as indiqué j'ai pensé un temps à écrire une ligne public void main string...
mais c'est pas le but...
il ne doit pas y avoir d'exécutable.
Du coup je suis perdu.
J'ai aussi essayé un return entre les deux dernières accolades de Td30Ihm.
Cela finit en erreur...
Il te faudra de toute manière un main, c'est obligatoire si tu veux pouvoir lancer ton programme. Executable ou pas.
Essaye avec ceci:
Code:
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 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingConstants; public class Td30Ihm { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Td30Ihm frame = new Td30Ihm(); } catch (Exception e) { e.printStackTrace(); } } }); } public Td30Ihm() { createAndShowGUI(); } private void createAndShowGUI() { JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel textLabel = new JLabel("Hello Swing my friend", SwingConstants.CENTER); textLabel.setPreferredSize(new Dimension(300,200)); frame.getContentPane().add(textLabel, BorderLayout.CENTER); frame.setLocationRelativeTo(null); frame.pack(); frame.setVisible(true); } }
pour moi le main doit rester dans DEMO sinon il ne sert à rien ?
Tu peux le mettre ou tu veux. Moi je l'ai mis la pour simplifier mais ce n'est pas une obligation.
ça marche...:lol:Code:
1
2
3 public class Td30Ihm { Td30Ihm () { createAndShowGUI ();