Bonjour à tous,
Je suis en train de développer un petit calculateur que j'aimerais mettre en forme avec une interface graphique.
Le problème est que je suis complètement perdu avec les différentes classes à utiliser.
Pour le moment j'affiche une fenêtre, un slider ainsi qu'un bouton de lancement du programme Main. La valeur du slider est utilisée pour amorcer le lancement du calcul.
Est ce que je dois créer une seule classe IHM dans laquelle je défini tous les objets ?
Est ce que je dois créer des classe Fenetre, Slider, Button ?
Est ce que je dois coder dans le Main ou faire en sorte de définir des attributs ?
Voici ce que j'ai fais pour le moment :
Ensuite j'imagine l'instancier dans le Main de mon programme principal :
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 public class IHM{ public static void main(final String[] args) { final VilainHand vH = new VilainHand(); // Instanciation des objets JFrame f = new JFrame ("Calculator"); final JLabel label = new JLabel("Main actuelle : .."); final JButton bRun = new JButton ("Run"); JSlider slide = new JSlider(); // Definir la fenetre f.setSize (750, 250); f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); // Fermeture fenetre // Definir le slider slide.setMaximum((Calculator.vilainHand.length-1)); slide.setMinimum(0); slide.setValue(30); slide.setMinorTickSpacing(10); slide.setMajorTickSpacing(20); ChangeListener cl = new ChangeListener() { // Ecouter le slider @Override public void stateChanged(ChangeEvent eventSlider) { label.setText("Main actuelle : " +vH.getIndex(((JSlider)eventSlider.getSource()).getValue()));} }; bRun.addActionListener(new ActionListener() { // Ecouter le boutton run @Override public void actionPerformed(ActionEvent e) { Copy_Main.main(args); } }); slide.addChangeListener(cl); //getContentPane permet d'obtenir la zone conteneur de la fenetre Container contentpane = f.getContentPane(); //Ajout du BTN au sud contentpane.add(bRun, BorderLayout.SOUTH); contentpane.add(slide,BorderLayout.NORTH); contentpane.add(label,BorderLayout.EAST); // Affichage f.setVisible (true); slide.setVisible (true); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Calculateur { public static void main(String[] args) { IHM intGraphique = new IHM(); // Démarrage du calcul .. ..
Si quelqu'un pourrait m'orienter un peu, je lui en serrai reconnaissant !
Merci
Partager