les composants graphiques atomiques

Download Les composants Graphiques Atomiques

Post on 23-Feb-2016

15 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Les composants Graphiques Atomiques. Les Labels (JLabel) Zone de texte (JTextFiled) Les boutons de commande (Jbutton, JCheckBox, ) Les listes Les menus. Les Labels (JLabel). Servent essentiellement à afficher du texte et des images (texte d’information) La classe utilisée est JLabel - PowerPoint PPT Presentation

TRANSCRIPT

  • Les composants Graphiques AtomiquesLes Labels (JLabel)Zone de texte (JTextFiled)Les boutons de commande (Jbutton, JCheckBox, )Les listesLes menus

  • Les Labels (JLabel)Servent essentiellement afficher du texte et des images (texte dinformation)La classe utilise est JLabel Constructeurs: new JLabel("Text") new JLabel(ImageIcon)new JLabel("Text", ImageIcon, AligHorizotal) setForGround(Color)setFont(Font)New Font(font, style, taille)

  • Exemple JLabel// cration de la fentre rcupration de son container et mise ajours de //son gestionnaire demplacement JFrame JPF=new JFrame("fentre sur les Jlabel");Container JCP=JPF.getContentPane();JCP.setLayout(new GridLayout(3,0,10,10));//cration des images insrerImageIcon image1=new ImageIcon("c:\\email.gif");ImageIcon image2=new ImageIcon("c:\\email.gif");//cration des JLabel selon les trois modlesJLabel text=new JLabel("courier gras et de taille 15");JLabel icon=new JLabel(image1,JLabel.LEFT);JLabel texteETicon=new JLabel("je suis le texte ",image2,JLabel.LEFT);//changement des caractristiques de la police du label1text.setForeground(Color.BLUE);text.setFont(new Font("courier",Font.BOLD,15));//ajout des label au container de la fentre & affichageJCP.add(text);JCP.add(icon);JCP.add(texteETicon);JPF.pack();JPF.show();

  • Les zones de texte (1)Utiliss gnralement pour saisir des informations destines au programmeLes zones texte en swing sont assures par la hirarchie suivante:

  • Zone texte (2): JTextField & JPasswordTextDestins pour saisir du texte sur une seule ligneConstructeurs:new JTextField(String)new JTextField(String,int)new JPasswordText(String)new JPasswordText(String,int)getText(): rcupre le contenue actuel du JTextFieldsetFont(Font);setForGround(Color)Pour JPasswordText utilisez la mthode char[] getPassword() et non getText().

  • JTextAreaUtilis pour afficher ou saisir du texte sur plusieurs ligne.Constructeurs:new JTextArea(String)new JTextArea(int ligne, int colonne)setFont(Font)setForground(Color)Par dfaut le texte est changeablesetEditable(false);

  • Exemple: zone Texte JLabel label1= new JLabel("JTextField:");JTextField text=new JTextField("texte par dfaut");JLabel label2= new JLabel("JPasswordField:");JPasswordField psText=new JPasswordField();JPanel panel1=new JPanel(new GridLayout(2,2));panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.BLACK,3),"les zones Texte"));panel1.add(label1);panel1.add(text);panel1.add(label2);panel1.add(psText);JTextArea textArea = new JTextArea( "ceci est une JTextArea. " +); textArea.setEditable(false); textArea.setFont(new Font("Serif", Font.ITALIC, 16)); textArea.setLineWrap(true); textArea.setWrapStyleWord(true);JPanel panel2=new JPanel(new GridLayout(1,1)); panel2.setBorder(BorderFactory.createTitledBorder( BorderFactory.createLineBorder(Color.BLACK,3),"JTextArea")); panel2.add(textArea); JCP.add(panel1);JCP.add(panel2); JPF.pack(); JPF.show();

  • Les boutons: les JButton utiliss pour enregistrer ou ragir au commande de lutilisateur. Constructeur:new JButton();New Jbutton(String);New Jbutton(Icon);New Jbutton(String ,Icon);Peut tre activ ou dsactivLe JButton ragit graphiquement au clicQuand il est dsactiv, laction clic na aucun effetQuelques mthodes:SetEnable(boolean) // change ltat dactivit du boutonSet

  • Exemple: Jbuttonpublic static void main(String [] args) {// cration de la fentre JFrame.setDefaultLookAndFeelDecorated(true); JFrame testButton=new JFrame ("exemple sur les Jbutton"); Container c=testButton.getContentPane(); c.setLayout(new FlowLayout()); //Cration des trois boutons JButton text=new JButton("je suis un boutton slctionne"); text.setDefaultCapable(true); JButton textETicon=new JButton( "texte + image",new ImageIcon("c:/orange.gif")); JButton textD=new JButton("je suis un boutton dsactiv");// dsactiver le bouton textD.setEnabled(false);// ajouter les boutons c.add(text);c.add(textETicon);c.add(textD); testButton.initialisation(); testButton.pack();testButton.show(); }}

  • Les Boutons: JCheckBoxUtiliss pour le choix des options ou des rponsesLes constructeurs:new JCheckBox(String,[boolean]);new JCheckBox(Icon,[boolean]);Les deux. quelques mthodes:setSelected(boolean) //slectionner loptionBoolean isSelected() // teste ltat du bouton

  • Exemple: JCheckBoxpublic static void main(String [] args) {// cration de la fentre JFrame.setDefaultLookAndFeelDecorated(true); JFrame testCheck=new JFrame ("exemple sur les JCheckBox"); Container c=testCheck.getContentPane(); c.setLayout(new FlowLayout()); //Cration des Jcheckbox dans un panel JPanel listchoix=new JPanel(new GridLayout(0,1,10,10)); JCheckBox lun=new JCheckBox("Lunettes"); JCheckBox cas=new JCheckBox("Casquette"); JCheckBox chau=new JCheckBox("Chaussures"); listchoix.add(lun);listchoix.add(cas);listchoix.add(chau); // cration de l'image JLabel labelimage=new JLabel(new ImageIcon("c:\\checkbox.gif")); // ajout des checkbox et l'image dans la fentre c.add(listchoix);c.add(labelimage);// affichage testCheck.pack();testCheck.show(); }

  • Bouton: JRadioButtonContrairement au Jcheckbox, utilis pour le choix exclusive (homme-femme etc.)Ncessit de placer les choix dans un objet contexte: ButtonGroupConstructeur:Les mmes que JCheckboxLes oprations:Les mmes que pour JCheckBoxButtonGroup:Constructeur: un seul, pas de paramtreAjouter des JRadioButton: add(AbstractButton)

  • Exemple: JRadioButtonpublic static void main(String [] args) {// cration de la fentre JFrame.setDefaultLookAndFeelDecorated(true); JFrame testCheck=new JFrame (exemple sur les JRadioButton & ButtonGroup"); Container c=testCheck.getContentPane(); c.setLayout(new FlowLayout()); //Cration des boutton de choix JPanel listchoix=new JPanel(new GridLayout(0,1,10,10)); JRadioButton rose=new JRadioButton("petit couchon Rose"); JRadioButton bleu=new JRadioButton("petit couchon Bleu"); JRadioButton noir=new JRadioButton("petit couchon Noire"); listchoix.add(rose);listchoix.add(bleu);listchoix.add(noir); //regrouper les bouttons dans une mme contexte ButtonGroup gb=new ButtonGroup(); gb.add(rose);gb.add(bleu);gb.add(noir); // cration de l'image JLabel labelimage=new JLabel(new ImageIcon("c:\\pig.gif")); // ajout des checkbox et l'image dans la fentre c.add(listchoix);c.add(labelimage); // affichage testCheck.pack();testCheck.show(); }

  • Les listes: JListUtiliss pour prsenter lutilisateur un ensemble dlments (peuvent tre utilises pour le choix multiple)Les lments peuvent tre affichs sur plusieurs lignes et colonnes Constructeur:New JList(Object[]) //liste immuable new JList(Vector) //liste immuablenew JList(DefaultListModel) //liste changeable Par dfaut la liste est multi-modale (on peut slectionner plusieurs lments) et verticale.

  • JListe (2)Changer lorientation de la liste:setLayoutOrientation(int);Trois constantes

    Changer le mode de slectionsetSelectionMode(int)Trois constantes

    HORIZONTAL_WRAP VERTICAL_WRAP VERTICAL

  • JList (3)Quelques mthodessetModel(ListModel); //changer la liste modleObject getSelectedValue();Object[] getSelectedValues();DefaultListModel // constructeur videaddElement(Object); //ajouter un lment dans la listeint getCapacity(); // retourne nombre dlments.Les ascenseurs: Ajouter des ascenseur pour permettre de grer la taille de la liste.Class : JScrollPaneConstructeur : JScrollPane(Component);Il peut tre ajout une zone JTextAreaAjouter lobjet ascenseur la place de la liste

  • Exemple: JList//dclaration de lobjet fentre et rcupration de son container..//cration d'un objet DefaultListModelDefaultListModel lm=new DefaultListModel();//cration d'un objet Jliste avec comme modle liste "lm" JList list=new JList(lm);// ajout des employs dans le modle de la liste "lm"lm.addElement(new Employ("Alan", "Sommerer","Directeur"));lm.addElement(new Employ("Alison","Huml", "marketing"));lm.addElement(new Employ("Kathy","Walrath", "comercial"));lm.addElement(new Employ("Lisa","Friendly", "marketing"));..JLabel text=new JLabel("Quel sont vos enploys prfr ?????"); //cration de l'assenseur et on fixe sa tailleJScrollPane listScroller = new JScrollPane(list);listScroller.setPreferredSize(new Dimension(250, 80));text.setForeground(Color.red);//ajout des deux composants au container de la fentre affichageJCP.add(text);JCP.add(listScroller); JPF.pack();JPF.show();

  • List: comboBoxUne liste ou un lment est slectionn la fois

  • exemple

  • Les menusUne manire dorganiser les boutons de commande et les boutons doptions qui ont un intrt pour lapplication.exemple en image:

  • Vue global de lAPI menu

  • JMenuBarChaque fentre peut comporter un et un seul JMenuBarUtilisation de la mthode de JFrame: setJMenuBar(JMenuBar)Constructeur : new JMenuBar();Mthode dajout de menusAdd(JMenue)

  • JMenuConstructeurs:JMenu(String);JMenu(String,boolean)Ajouter des des lments:Add(JMenuItem)fichier.addSeparator();// ajoute une ligne de sparationVous pouvez galement ajouter des objets de type JMenu pour les sous-menus

  • JMenuItemRessemble JButton (texte et icon)Constructeur: JMenuItem(String, [Icon])Les sous classes possiblesJRadioButtonMenuItem (regrouper dans des ButtonGroup) JCheckBox.Le mme fonctionnement.

  • Exemple: testons le toutLes menusLes lment de tous types et les sous menu.//cration de la fentre//cration dun object JMenuBarJMenuBar menuBar = new JMenuBar();//remplacement de JMenuBar de la fentre par lobjet cre fentre.setJMenuBar(menuBar);//cration du Menu_1 . JMenu jmenu1= new JMenu("JMenu_1"); JMenu jmenu2=new JMenu("JMenu_2"); jmenu1.add(new JMenuItem("JMenuItem_1 sans Icon")); jmenu1.add(new

View more