Simulation d'un distributeur de billet
isma
-
isma -
isma -
Bonjour,
C'est mon premier post ici, j'espère que je fait les choses en ordre. Bref, J'ai un petit souci avec mon programme, en effet j'essaye de faire une simulation d'un distributeur TPG (distributeur de billet de transport, tout marche bien jusqu'à maintenant.
mon problème est au niveau d'interface j'arrive pas à mettre les boutons et les jlabel en ordre comme je désire (c'est toujours pas en place).
J'ai essayer plusieurs truc mais toujours résultat non souhaité.
je pense qu'on peux faire avec JTable mais est ce que il y a une autre solution dans la même genre ce que je fait et qui me donne le résultat souhaité.
voilà mon interface :
merci beaucoup pour votre aide</code>
C'est mon premier post ici, j'espère que je fait les choses en ordre. Bref, J'ai un petit souci avec mon programme, en effet j'essaye de faire une simulation d'un distributeur TPG (distributeur de billet de transport, tout marche bien jusqu'à maintenant.
mon problème est au niveau d'interface j'arrive pas à mettre les boutons et les jlabel en ordre comme je désire (c'est toujours pas en place).
J'ai essayer plusieurs truc mais toujours résultat non souhaité.
je pense qu'on peux faire avec JTable mais est ce que il y a une autre solution dans la même genre ce que je fait et qui me donne le résultat souhaité.
voilà mon interface :
<code java>public InterfaceMachineClient() { // Creation des objets graphiques // this.piecesChargees = new PiecesDesMonnaies(); this.tarifChoisis=new Automate(); double reste = piecesChargees.getResteApayer(); // il faut afficher reste dans le JLabel ilVousResteApayer etatBoutonTarifNormal=false; etatBoutonDemiTarif=false; etatBoutonTarifDuneHeure=false; etatBoutonTarifDuneJournee=false; fenetre = new JFrame("TPG"); panel = new JPanel(); // Le constructeur de JFrame prend en argument le nom de la fenetre this.titre = new JLabel("<html><center><b>TRANSPORT PUBLIC GENEVOIS</b></center></html>"); this.vousAvezInsere = new JLabel("Vous avez inséré " +piecesChargees.getTotal()+ " CHF. Monnaies à rendre: "); this.choisirTarif = new JLabel("<html><br><b>Merci De Choisir Le Tarif</b></br></html>"); this.duree = new JLabel("Merci De Choisir La Durée"); this.prix = new JLabel("Prix"); this.impression = new JLabel("une fois vous avez payer appuyer sur imprimer"); this.ilVousResteApayer = new JLabel("il vous reste " +reste+ " CHF à payer"); // Le constructeur de JButton prend en argument le nom du bouton /* this.boutonEffacer = new JButton("C"); // Le constructeur de JButton prend en argument le nom du bouton this.boutonQuitter = new JButton("Quitter");*/ this.tarifNormal = new JButton("TARIF NORMAL"); this.prixCalculer = new JTextField(price+ " CHF"); this.demiTarif = new JButton("1/2 TARIF"); this.tarifDuneHeure = new JButton("1 Heure"); this.tarifDuneJournee = new JButton("Journée Complète"); this.imprimerBillet = new JButton("Imprimer"); this.annuler = new JButton("Annuler"); this.pieceDe5 = new JButton("5 CHF"); this.pieceDe2 = new JButton("2 CHF"); this.pieceDe1 = new JButton("1 CHF"); this.pieceDe50Centime = new JButton("0.50 CHF"); this.pieceDe20Centime = new JButton("0.20 CHF"); this.pieceDe10Centime = new JButton("0.10 CHF"); // Association des actions aux boutons tarifNormal.addActionListener(this); demiTarif.addActionListener(this); tarifDuneHeure.addActionListener(this); tarifDuneJournee.addActionListener(this); imprimerBillet.addActionListener(this); annuler.addActionListener(this); pieceDe5.addActionListener(this); pieceDe2.addActionListener(this); pieceDe1.addActionListener(this); pieceDe50Centime.addActionListener(this); pieceDe20Centime.addActionListener(this); pieceDe10Centime.addActionListener(this); /*ActionQuitter ActionQuitter = new ActionQuitter(); this.boutonQuitter.addActionListener(ActionQuitter);*/ // Disposition des objets graphiques au sein de la fenetre // panel.setLayout(new GridLayout(8, 2)); this.fenetre.setTitle("TPG"); this.fenetre.setSize(500, 500); //Au centre this.panel.add(titre, BorderLayout.CENTER); //Au nord this.panel.add(vousAvezInsere, BorderLayout.NORTH); //Au sud this.panel.add(choisirTarif, BorderLayout.SOUTH); //À l'ouest this.panel.add(tarifNormal, BorderLayout.WEST); //À l'est this.panel.add(demiTarif, BorderLayout.EAST); this.panel.add(duree, BorderLayout.CENTER); //Au nord this.panel.add(tarifDuneHeure, BorderLayout.NORTH); //Au sud this.panel.add(tarifDuneJournee, BorderLayout.SOUTH); //À l'ouest this.panel.add(prix, BorderLayout.WEST); //À l'est this.panel.add(prixCalculer, BorderLayout.EAST); this.panel.add(impression, BorderLayout.CENTER); //Au nord this.panel.add(ilVousResteApayer, BorderLayout.NORTH); //Au sud this.panel.add(annuler, BorderLayout.SOUTH); //À l'ouest this.panel.add(pieceDe5, BorderLayout.WEST); //À l'est this.panel.add(pieceDe2, BorderLayout.EAST); this.panel.add(pieceDe1, BorderLayout.CENTER); //Au nord this.panel.add(pieceDe50Centime, BorderLayout.NORTH); //Au sud this.panel.add(pieceDe20Centime, BorderLayout.SOUTH); //À l'ouest this.panel.add(pieceDe10Centime, BorderLayout.WEST); //À l'est /* panel.add(titre); panel.add(vousAvezInsere,BorderLayout.CENTER); panel.add(choisirTarif); panel.add(choisirTarif); panel.add(tarifNormal); panel.add(demiTarif); panel.add( duree); panel.add( tarifDuneHeure); panel.add(tarifDuneJournee); panel.add(prix); panel.add(prixCalculer); panel.add(impression); panel.add(imprimerBillet); panel.add(ilVousResteApayer); panel.add(annuler); panel.add( pieceDe5); panel.add(pieceDe2); panel.add(pieceDe1); panel.add( pieceDe50Centime); panel.add(pieceDe20Centime); panel.add( pieceDe10Centime,BorderLayout.CENTER); */ prixCalculer.setEnabled(false); // Affichage de la fenetre // this.fenetre.setContentPane(panel); this.panel.setBackground( Color. green ); this.fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.fenetre.setVisible(true); }
merci beaucoup pour votre aide</code>
A voir également:
- Simulation d'un distributeur de billet
- Simulateur de navigation maritime gratuit - Télécharger - Loisirs créatifs
- Pass ton billet avis - Forum Consommation & Internet
- Télécharger simulateur de peinture intérieur gratuit - Télécharger - Divers Photo & Graphisme
- Vrai ou faux billet de concert ?? - Forum Consommation & Internet
- Info retraite simulation - Accueil - Services publics
2 réponses
Bonjour,
Tu as utilisé un GridLayout, c'est plutôt une bonne idée, mais il faut que tu ajoutes tes éléments dans l'interface de gauche à droite et de haut en bas. L'ordre dans lequel tu vas ajouter ces éléments est donc important.
Remarque : les constantes BorderLayout (CENTER, EAST, etc.) ne peuvent pas fonctionner avec un GridLayout.
La confiance n'exclut pas le contrôle
Tu as utilisé un GridLayout, c'est plutôt une bonne idée, mais il faut que tu ajoutes tes éléments dans l'interface de gauche à droite et de haut en bas. L'ordre dans lequel tu vas ajouter ces éléments est donc important.
Remarque : les constantes BorderLayout (CENTER, EAST, etc.) ne peuvent pas fonctionner avec un GridLayout.
La confiance n'exclut pas le contrôle
en fait, les bouton sont en ordre par contre si je veux par exemple mettre le titre sur une seule linge centré je peux pas le faire .
Si je fixe /*panel.setLayout(new GridLayout(8, 2)) */ (2 colonnes et 8 ligne) comment je pourrais mettre à la ligne 3 par exemple 2 bouton c tt, comment je pourrais mettre le titre centré et juste un jlabel a coté c pour ça j'ai penser à utiliser (center,east,west...) .
merci pour la remarque mais si je change en borderlayout il m'affiche que les dernier boutons et les autres ne sont pas affiché pourtant qu'il y'a add().
derniers question, comment je pourrais faire une ligne verticale en java ?
En fin je voudrais avoir une interface comme ça :
titre (Centrer) (une ligne verticale) texte
titre 1 titre 2 titre 3 (une ligne verticale) texte
titre 4 titre 5 titre 6 (une ligne verticale) texte
J'espère que j'étais très clair et merci beaucoup pour ton soutien.