|
|
|
|
otis182, le vendredi 26 novembre 2004 à 17:55:32Bonjour,
Voici ton programme avec le Label souhaité Pour la doc: http://www.java.sun.com import java.awt.*; import java.awt.event.*; public class PeageFrame extends Frame { /** * The constructor. */ public PeageFrame() { MenuBar menuBar = new MenuBar(); Menu menuFile = new Menu(); MenuItem menuFileExit = new MenuItem(); menuFile.setLabel("Fichier"); menuFileExit.setLabel("Quitter"); menuFile.add(new MenuItem("Demarrer")); //création de l'item demarrer // Add action listener.for the menu button menuFileExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { PeageFrame.this.windowClosed(); } }); final Label label = new Label(""); this.add(label); // Ajout d'un action listener pour demmarer menuFile.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e2){ // TextArea t = new TextArea("Usager détecté",5,50); //création d'une zone de texte label.setText("Usager détécté"); } }); menuFile.add(menuFileExit); menuBar.add(menuFile); setTitle("SimulPeage"); setMenuBar(menuBar); setSize(new Dimension(400, 400)); setVisible(true); // Add window listener. this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { PeageFrame.this.windowClosed(); } }); } /** * Shutdown procedure when run as an application. */ protected void windowClosed() { // TODO: Check if it is safe to close the application // Exit application. System.exit(0); } public static void main (String [] args) { new PeageFrame(); } } a+ |
Merci beaucoup!
J'ai voulu rajouter 3 autres labels (JLabel de javax.swing) et a l'écran il n'apparait que le dernier créé et ajouté . Je pense qu'en fait lorsque j'ajoute tous les labels sont superposés donc je ne vois ke le dernier. Comment faire pour les afficher les uns en dessous des autres ? J'ai testé BorderLayout avec un JPanel mais ca ma créé plus d'erreur qu'autre chose !! merci! PS : Donald, wé bof moi je préfère Dingo ! lol |
Bonjour,
tu peux utiliser : - un GridLayout : JPanel panel = new JPanel(new GridLayout(3, 1, 5, 5)); panel.add(label1); panel.add(label2); panel.add(label3); ou plus compliqué quand on débute, un gridbaglayout De toute façon, n'oublie pas de consulter la documentation pour les classes que tu utilises : http://java.sun.com/docs/index.html Un autre lien intéressant pour apprendre: http://java.sun.com/docs/books/tutorial/index.html bon amusement a+ |
Merci pour vos conseils !
Oui le gridLayout fonctionne merci . J'utilise en parralele a mon code la documentation sur le JDK mais ya tellement d'informations que parfois je en trouve pas ce que je cherche. D'ou encore une question désolé : après avoir cherché dans la documentation, j'ai voulu : - ajouter un couleur de fond a un de mes labels par la fonction setColorBackground(Color.blue); Mais cela n'a aucun n'effet sur l'affichage !! Comment faire ?? Je vous colle mon code : import java.awt.*; import java.awt.event.*; import java.awt.color.*; import javax.swing.*; public class ProjPeage extends JFrame { /////// Déclaration de variables JLabel Lbl_borne = new JLabel ("Etat Borne : en attente"); JLabel Lbl_barriere = new JLabel ("Etat Barriere : baissée"); JLabel Lbl_feu = new JLabel ("Etat Feu : Rouge"); JButton B_DemandeRecu = new JButton("Demande de recu"); JButton B_Payer = new JButton("Payer"); JButton B_Telepeage = new JButton("Telepeage"); JLabel Lbl_afficheur= new JLabel ("Montant = 5 €"); ////// Constructeur public ProjPeage() { GridLayout pos = new GridLayout(4,2); // création d'une grille de positionnement MenuBar menuBar = new MenuBar(); Menu menuFile = new Menu(); MenuItem menuFileExit = new MenuItem(); menuFile.setLabel("Fichier"); menuFileExit.setLabel("Quitter"); menuFile.add(new MenuItem("Demarrer")); //création de l'item demarrer setLayout(pos); // Add action listener.for the menu button menuFileExit.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e) { ProjPeage.this.windowClosed(); } } ); final Label Detecteur = new Label(""); this.add(Detecteur); // Ajout d'un action listener pour demmarer menuFile.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e2){ //JLabel Detecteur = new JLabel("Usager détecté"); //création d'une zone de texte Detecteur.setText("Etat Detecteur : Usager détecté\n"); } } ); menuFile.add(menuFileExit); menuBar.add(menuFile); setTitle("SimulPeage"); setMenuBar(menuBar); setSize(new Dimension(400, 400)); // Add window listener. this.addWindowListener ( new WindowAdapter() { public void windowClosing(WindowEvent e) { ProjPeage.this.windowClosed(); } } ); //choix d'une couleur de fond Lbl_afficheur.setBackground(Color.blue); //rendre visible Lbl_borne.setVisible(true); Lbl_barriere.setVisible(true); Lbl_feu.setVisible(true); Lbl_afficheur.setVisible(true); //ajouter a la fenetre this.add(Lbl_afficheur); this.add(Lbl_borne); this.add(B_DemandeRecu); this.add(Lbl_barriere); this.add(B_Payer); this.add(Lbl_feu); this.add(B_Telepeage); } ////////////////////Fin du constructeur /** * Procedure de fin d'application */ protected void windowClosed() { // TODO: Check if it is safe to close the application // Exit application. System.exit(0); } ///////////////////////// classe BORNE public class Borne { public int montantAPayer = 5; //montant a payer initialisé a 5 euros public int recu; //prend les valeurs 0,1,2 public String etatborne;//etat de la borne public int numT ;//numero de la transaction public int MiseAJour(int x) { montantAPayer = x; return montantAPayer; } public void Afficher() { Lbl_afficheur.setText(Integer.toString(montantAPayer)); } public void DemanderRecu() { recu=1; B_DemandeRecu.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e){ JFrame F_DemandeRecu = new JFrame("Recu"); F_DemandeRecu.setVisible(true); } } ); } } public static void main(String[] args) { // Create application frame. JFrame frame = new ProjPeage(); // Show frame frame.setVisible(true); } }
|