La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI 1 Swing et les Interfaces Graphiques.

Présentations similaires


Présentation au sujet: "1er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI 1 Swing et les Interfaces Graphiques."— Transcription de la présentation:

1 1er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI 1 Swing et les Interfaces Graphiques

2 21er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Plan Introduction Le Package Swing (Liste exhaustive) Utilisation des Composants Les Événements Les Interfaces Graphiques Les différents langages Les différents langages Les Apparences « LookAndFeel » Les Apparences « LookAndFeel » Exemple dapplication Swing

3 31er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Introduction Les Packages de JDK Le Package javax Le Sous Package javax.swing

4 41er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Packages Standard de JDK 1.4 audio COM & com fontsimagesjavajava2dJavaxlaunchermodelsnetscapeorgsoundssunsunwtemplates

5 51er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Le Package javax Le Package javax fut inclus dans JDK à partir de la version 1.2 (Java 2) Dans ce package, nous trouvons différents sous packages: accessibilitycryptoimageionamingnetprintrmisecuritysoundsqlswingtransactionxml

6 61er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Le Package Swing javax.swing Composants Basiques Composants Textes Menus, Bar doutils et ToolTips Containersjavax.swing.beaninfojavax.swing.beaninfo.imagesjavax.swing.borderjavax.swing.colorchooserjavax.swing.eventjavax.swing.filechooserjavax.swing.plafjavax.swing.plaf.basicjavax.swing.plaf.metaljavax.swing.plaf.multijavax.swing.tablejavax.swing.textjavax.swing.text.htmljavax.swing.treejavax.swing.undo

7 71er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Composants Swing Composants Basiques JApplet JApplet JButton JButton JCheckBox JCheckBox JRadioButton JRadioButton JToggleButton JToggleButton JComboBox JComboBox JList JList JSlider JSlider JTable JTable JTree JTree JProgessBar JProgessBar JSpinner JSpinner

8 81er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Composants Swing Menus, Bar doutils et ToolTips JMenuBar JMenuBar JMenu JMenu JMenuItem JMenuItem JCheckBoxMenuItem JCheckBoxMenuItem JRadioButtonMenuItem JRadioButtonMenuItem JPopupMenu JPopupMenu JToolBar JToolBar JToolTip JToolTip

9 91er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Composants Swing Composants Textes JPasswordField JPasswordField JTextField JTextField JTextArea JTextArea JTextPane JTextPane JEditorPane JEditorPane

10 101er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Composants Texte JTextFieldJPasswordField JTextArea JEditorPaneJTextPane JTextComponent Légende Texte Stylisé Texte Ordinaire Texte Simple Ligne Texte Multi Ligne

11 111er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Composants Swing Containers JOptionPane JOptionPane JDialog JDialog JTabbedPane JTabbedPane JSplitPane JSplitPane JScrollPane JScrollPane JFrame JFrame JInternalFrame JInternalFrame JDesktopPane JDesktopPane JWindow JWindow

12 121er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Layout et les containers Pour positionner un composant, nous avons plusieurs positions prédéfinis. Ces positions qui sont proposés par Java sont: BorderLayoutBoxLayoutCardLayoutFlowLayoutGridBagLayoutGridLayout

13 131er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Caractéristiques dun JComponent La plupart des composants Swing descendent de JComponent qui hérite de Container Caractéristiques dun JComponent Bordure Bordure Méthode setBorder(titledBorder1) pour spécifier une bordure autour du composant. Avec titledBorder1 = new TitledBorder( BorderFactory.createEtchedBorder( Color.white,new Color( 156, 156, 158 ) ),"Radio Group"); Double-buffering Double-buffering 2 mémoires daffichages existent : celle que lon voit et celle où les composants Swing sont en train dêtre dessinés. Évite le clignotement du tracé. setDoubleBuffered(false) permet de lenlever Tool tips Tool tips setToolTipText spécifie laffichage dun message daide lorsque le curseur est sur un objet Navigation au clavier Navigation au clavier registerKeyboardAction autorise lusage du clavier en plus de la souris pour manoeuvrer

14 141er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Caractéristiques dun JComponent Propriétés Propriétés putProperty associe une propriété au composant Style Style chaque composant a un pluggable LookAndFeel permettant au UIManager.setLookAndFeel global de fonctionner Placement Placement contrôlé par setPreferredSize, setMinimumSize, setMaximumSize, setAlignmentX, et setAlignmentY Accessibilité Accessibilité pour les technologies dassistance Localisation Localisation permet des comportements différents en fonction du pays, de la langue, etc.

15 151er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Utilisation des Composants Swing JFrame JPanel (ContentPane) JButton JPanel JScrollPane JList JTextField

16 161er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Déclaration des Composants public class Cadre extends JFrame { JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JTree jTree1 = new JTree(); JTextField jTextField1 = new JTextField(); JPanel contentPane; JPanel jPanel1 = new JPanel(); JScrollPane jScrollPane1 = new JScrollPane(); BorderLayout borderLayout1 = new BorderLayout();

17 171er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Initialisation des Composants private void Initialization() throws Exception { this.setSize(new Dimension(400, 300)); this.setTitle("Titre du cadre"); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); jButton1.setBounds(new Rectangle(23, 60, 102, 32)); jButton1.setText("jButton1"); jButton2.setBounds(new Rectangle(23, 104, 102, 32)); jButton2.setText("jButton2"); jPanel1.setBorder(BorderFactory.createEtchedBorder()); jPanel1.setBounds(new Rectangle(141, 35, 234, 215)); jPanel1.setLayout(borderLayout1); jTextField1.setText("jTextField1");

18 181er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Initialisation des Composants contentPane.add(jButton1, null); contentPane.add(jButton2, null); contentPane.add(jPanel1, null); jPanel1.add(jScrollPane1, BorderLayout.CENTER); jPanel1.add(jTextField1, BorderLayout.NORTH); jScrollPane1.getViewport().add(jTree1, null); }

19 191er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Événements Nous allons voir comment nous pouvons ajouter un événement à un bouton afin deffectuer la fonction souhaitée lorsque lon clique dessus. Nous allons donc voir un exemple pour créer un menu et affecter au bouton quitter du menu fichier laction nécessaire pour terminer le processus. Pour avoir un menu et avoir un bouton quitter, nous ajoutons alors les éléments suivants à la classe JFrame : La barre de Menu de lapplication La barre de Menu de lapplication JMenuBar jMenuBar1 = new JMenuBar(); Le Menu Fichier Le Menu Fichier JMenu jMenuFile = new JMenu(); Le bouton Quitter Le bouton Quitter JMenuItem jMenuQuitter = new JMenuItem();

20 201er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Événements Dans la méthode dinitialisation de la classe, nous ajoutons ce qui suit pour: Ajouter la barre de menu à lapplication Ajouter la barre de menu à lapplicationthis.setJMenuBar(jMenuBar1); Ajouter le Menu Fichier à la barre de menu Ajouter le Menu Fichier à la barre de menujMenuFile.setText("Fichier");jMenuBar1.add(jMenuFile); Ajouter le bouton au menu fichier et de son listener Ajouter le bouton au menu fichier et de son listenerjMenuQuitter.setText("Quitter"); jMenuQuitter.addActionListener(new Cadre1_jMenuQuitter_actionAdapter(this)); jMenuFile.add(jMenuQuitter); Méthode associée au bouton Quitter Méthode associée au bouton Quitter public void jMenuFileExit_actionPerformed(ActionEvent e) { System.exit(0); System.exit(0);}

21 211er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Événements A présent, nous devons ajouter un événement à notre bouton nous avons besoin de définir une classe particulière qui fera appel à la méthode que nous aurons choisi. Dans notre exemple cette méthode sappelle jMenuFileExit_actionPerformed(actionEvent) qui est déclarée dans notre classe JFrame. class Cadre1_jMenuQuitter_actionAdapter implements java.awt.event.ActionListener { Cadre1 adaptee; Cadre1_jMenuQuitter_actionAdapter(Cadre1 adaptee) { this.adaptee = adaptee; this.adaptee = adaptee;} public void actionPerformed(ActionEvent e) {adaptee.jMenuFileExit_actionPerformed(e);}}

22 221er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Interfaces graphiques Il faut savoir que différents langages peuvent nous permettre de créer des interfaces graphiques. Nous pouvons avoir le C++, le Pascal avec Delphi mais encore Java que nous voyons depuis le début de cet exposé. La différence entre Java et les autres langages de programmation, est que nous pouvons lancer une application Java, qui a été au préalable compilée sur une plateforme quelconque, sur nimporte quelle machine à partir du moment où cette machine possède une machine virtuelle (ou JVM pour Java Virtual Machine). Pour plus de faciliter afin de créer ce genre dapplication, il est conseillé dutiliser un éditeur de code Java comme JBuilder que nous préférerons mais payant en version complète ou encore Eclipse qui lui est gratuit mais moins convivial.

23 231er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Apparences LookAndFeel Grâce à java, nous avons la possibilité de choisir lapparence. Pour changer laspect de lapplication, il suffit de mettre ce qui suit dans la méthode main. Pour choisir lapparence de la plateforme où la machine virtuelle est lancée UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); Pour choisir lapparence de la plateforme où la machine virtuelle est lancée UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); Pour choisir lapparence Motif UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); Pour choisir lapparence Motif UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); Pour choisir lapparence Metal Pour choisir lapparence MetalUIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); Pour choisir lapparence Windows UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); Pour choisir lapparence Windows UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

24 241er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Apparences « LookAndFeel » Windows

25 251er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Apparences « LookAndFeel » Métal (Par Défaut)

26 261er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Les Apparences « LookAndFeel » Motif

27 271er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI Bibliographie Informations sur le Net (Google) Programmer en Java - Claude Delannoy - Ed. Eyrolles Aide Borland JBuilder


Télécharger ppt "1er novembre 2004 Swing et Interfaces Graphiques - Demoulin Yann - DESS RSI 1 Swing et les Interfaces Graphiques."

Présentations similaires


Annonces Google