Plan Introduction Le Package Swing (Liste exhaustive) Les Événements Les Interfaces Graphiques - Les différents langages
- Les Apparences « LookAndFeel »
Exemple d’application Swing
Introduction Les Packages de JDK Le Sous Package javax.swing
Les Packages Standard de JDK 1.4 audio COM & com fonts images java java2d Javax launcher
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: - accessibility
- crypto
- imageio
- naming
- net
- print
- rmi
- security
- sound
- sql
- swing
- transaction
- xml
Le Package Swing javax.swing - Composants Basiques
- Composants Textes
- Menus, Bar d’outils et ToolTips
- Containers
javax.swing.beaninfo javax.swing.beaninfo.images javax.swing.border javax.swing.colorchooser javax.swing.event
Composants Basiques - JApplet
- JButton
- JCheckBox
- JRadioButton
- JToggleButton
- JComboBox
- JList
- JSlider
- JTable
- JTree
- JProgessBar
- JSpinner
Les Composants Swing Menus, Bar d’outils et ToolTips - JMenuBar
- JMenu
- JMenuItem
- JCheckBoxMenuItem
- JRadioButtonMenuItem
- JPopupMenu
- JToolBar
- JToolTip
Les Composants Swing Composants Textes - JPasswordField
- JTextField
- JTextArea
- JTextPane
- JEditorPane
Les Composants Texte
Les Composants Swing Containers - JOptionPane
- JDialog
- JTabbedPane
- JSplitPane
- JScrollPane
- JFrame
- JInternalFrame
- JDesktopPane
- JWindow
Layout et les containers Pour positionner un composant, nous avons plusieurs positions prédéfinis. Ces positions qui sont proposés par Java sont: - BorderLayout
- BoxLayout
- CardLayout
- FlowLayout
- GridBagLayout
- GridLayout
Les Caractéristiques d’un JComponent La plupart des composants Swing descendent de JComponent qui hérite de Container Caractéristiques d’un JComponent 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 2 mémoires d’affichages existent : celle que l’on voit et celle où les composants Swing sont en train d’être dessinés. Évite le clignotement du tracé. setDoubleBuffered(false) permet de l’enlever Tool tips setToolTipText spécifie l’affichage d’un message d’aide lorsque le curseur est sur un objet Navigation au clavier registerKeyboardAction autorise l’usage du clavier en plus de la souris pour manoeuvrer
Les Caractéristiques d’un JComponent Propriétés putProperty associe une propriété au composant Style chaque composant a un pluggable LookAndFeel permettant au UIManager.setLookAndFeel global de fonctionner Placement contrôlé par setPreferredSize, setMinimumSize, setMaximumSize, setAlignmentX, et setAlignmentY Accessibilité pour les technologies d’assistance Localisation permet des comportements différents en fonction du pays, de la langue, etc.
Utilisation des Composants Swing
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();
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");
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); }
Les Événements Nous allons voir comment nous pouvons ajouter un événement à un bouton afin d’effectuer la fonction souhaitée lorsque l’on clique dessus. Nous allons donc voir un exemple pour créer un menu et affecter au bouton quitter du menu fichier l’action 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 l’application
JMenuBar jMenuBar1 = new JMenuBar(); JMenu jMenuFile = new JMenu(); JMenuItem jMenuQuitter = new JMenuItem();
Les Événements Dans la méthode d’initialisation de la classe, nous ajoutons ce qui suit pour: - Ajouter la barre de menu à l’application
this.setJMenuBar(jMenuBar1); - Ajouter le Menu Fichier à la barre de menu
jMenuFile.setText("Fichier"); jMenuBar1.add(jMenuFile); jMenuQuitter.setText("Quitter"); jMenuQuitter.addActionListener(new Cadre1_jMenuQuitter_actionAdapter(this)); jMenuFile.add(jMenuQuitter);
- Méthode associée au bouton Quitter
- public void jMenuFileExit_actionPerformed(ActionEvent e)
- {
- System.exit(0);
- }
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 s’appelle 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; }
public void actionPerformed(ActionEvent e) { adaptee.jMenuFileExit_actionPerformed(e); } }
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 n’importe 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 d’application, il est conseillé d’utiliser 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.
Les Apparences LookAndFeel Grâce à java, nous avons la possibilité de choisir l’apparence. Pour changer l’aspect de l’application, il suffit de mettre ce qui suit dans la méthode main. - Pour choisir l’apparence de la plateforme où la machine virtuelle est lancée UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- Pour choisir l’apparence Motif UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
- Pour choisir l’apparence Metal
- UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
- Pour choisir l’apparence Windows UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
Les Apparences « LookAndFeel » Windows
Les Apparences « LookAndFeel » Métal (Par Défaut)
Les Apparences « LookAndFeel » Motif
Bibliographie Informations sur le Net (Google) Programmer en Java - Claude Delannoy - Ed. Eyrolles Aide Borland JBuilder
Do'stlaringiz bilan baham: |