Tutoriel : Construction d'une application
Sélectionnez un lien pour choisir le code à voir :
HelloWorldCadre.java
HelloWorldClasse.java
HelloWorldCadre_AboutBox.java
package helloworld; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * Titre : HelloWorld * Description : Voici le tutoriel "HelloWorld". * Copyright : Copyright (c) 2001 * Société : Ma Société * @author Mon Nom * @version 1.0 */ public class HelloWorldCadre extends JFrame { JPanel contentPane; JMenuBar jMenuBar1 = new JMenuBar(); JMenu jMenuFile = new JMenu(); JMenuItem jMenuFileExit = new JMenuItem(); JMenu jMenuHelp = new JMenu(); JMenuItem jMenuHelpAbout = new JMenuItem(); JToolBar jToolBar = new JToolBar(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JButton jButton3 = new JButton(); ImageIcon image1; ImageIcon image2; ImageIcon image3; JLabel statusBar = new JLabel(); BorderLayout borderLayout1 = new BorderLayout(); JPanel jPanel1 = new JPanel(); Border border1; JLabel jLabel1 = new JLabel(); JButton jButton4 = new JButton(); GridBagLayout gridBagLayout1 = new GridBagLayout();
/**Construire le cadre*/ public HelloWorldCadre() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } /**Initialiser le composant*/ private void jbInit() throws Exception { image1 = new ImageIcon(helloworld.HelloWorldCadre.class.getResource("openFile.gif")); image2 = new ImageIcon(helloworld.HelloWorldCadre.class.getResource("closeFile.gif")); image3 = new ImageIcon(helloworld.HelloWorldCadre.class.getResource("help.gif")); //setIconImage(Toolkit.getDefaultToolkit().createImage(HelloWorldCadre.class.getResource("[Votre icône]"))); contentPane = (JPanel) this.getContentPane(); border1 = BorderFactory.createLineBorder(Color.gray,2); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300)); this.setTitle("Hello World"); statusBar.setText(" "); jMenuFile.setText("Fichier"); jMenuFileExit.setText("Quitter"); jMenuFileExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuFileExit_actionPerformed(e); } }); jMenuHelp.setText("Aide"); jMenuHelpAbout.setText("A propos"); jMenuHelpAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuHelpAbout_actionPerformed(e); } }); jButton1.setIcon(image1); jButton1.setToolTipText("Ouvrir un fichier"); jButton2.setIcon(image2); jButton2.setToolTipText("Fermer le fichier"); jButton3.setIcon(image3); jButton3.setToolTipText("Aide"); jPanel1.setBackground(Color.white); jPanel1.setBorder(border1); jPanel1.setLayout(gridBagLayout1); jLabel1.setFont(new java.awt.Font("Serif", 3, 28)); jLabel1.setForeground(Color.blue); jLabel1.setText("Hello World!"); jButton4.setText("Appuyer"); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton4_actionPerformed(e); } }); jToolBar.add(jButton1); jToolBar.add(jButton2); jToolBar.add(jButton3); jMenuFile.add(jMenuFileExit); jMenuHelp.add(jMenuHelpAbout); jMenuBar1.add(jMenuFile); jMenuBar1.add(jMenuHelp); this.setJMenuBar(jMenuBar1); contentPane.add(jToolBar, BorderLayout.NORTH); contentPane.add(statusBar, BorderLayout.SOUTH); contentPane.add(jPanel1, BorderLayout.CENTER); jPanel1.add(jLabel1, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(45, 125, 102, 110), 10, -6)); jPanel1.add(jButton4, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(46, 148, 0, 149), 16, 0)); }
/**Opération Fichier|Quitter effectuée*/ public void jMenuFileExit_actionPerformed(ActionEvent e) { System.exit(0); } /**Opération Aide|A propos effectuée*/ public void jMenuHelpAbout_actionPerformed(ActionEvent e) { HelloWorldCadre_AboutBox dlg = new HelloWorldCadre_AboutBox(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setModal(true); dlg.show(); } /**Remplacé, ainsi nous pouvons sortir quand la fenêtre est fermée*/ protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { jMenuFileExit_actionPerformed(null); } } void jButton4_actionPerformed(ActionEvent e) { jLabel1.setForeground(new Color(255,0,0)); } }
package helloworld; import javax.swing.UIManager; import java.awt.*; /** * Titre : HelloWorld * Description : Voici le tutoriel "HelloWorld". * Copyright : Copyright (c) 2001 * Société : Ma Société * @author Mon Nom * @version 1.0 */ public class HelloWorldClasse { boolean packFrame = false; /**Construire l'application*/ public HelloWorldClasse() { HelloWorldCadre frame = new HelloWorldCadre(); //Valider les cadres ayant des tailles prédéfinies //Compacter les cadres ayant des infos de taille préférées - ex. depuis leur disposition if (packFrame) { frame.pack(); } else { frame.validate(); } //Centrer la fenêtre Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); } /**Méthode principale*/ public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); } new HelloWorldClasse(); } }
package helloworld; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * Titre : HelloWorld * Description : Voici le tutoriel "HelloWorld". * Copyright : Copyright (c) 2001 * Société : Ma Société * @author Mon Nom * @version 1.0 */ public class HelloWorldCadre_AboutBox extends JDialog implements ActionListener { JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JPanel insetsPanel1 = new JPanel(); JPanel insetsPanel2 = new JPanel(); JPanel insetsPanel3 = new JPanel(); JButton button1 = new JButton(); JLabel imageLabel = new JLabel(); JLabel label1 = new JLabel(); JLabel label2 = new JLabel(); JLabel label3 = new JLabel(); JLabel label4 = new JLabel(); BorderLayout borderLayout1 = new BorderLayout(); BorderLayout borderLayout2 = new BorderLayout(); FlowLayout flowLayout1 = new FlowLayout(); GridLayout gridLayout1 = new GridLayout(); String product = ""; String version = "2.0"; String copyright = "Copyright (c) 2001"; String comments = ""; public HelloWorldCadre_AboutBox(Frame parent) { super(parent); enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } pack(); } /**Initialiser le composant*/ private void jbInit() throws Exception { //imageLabel.setIcon(new ImageIcon(HelloWorldCadre_AboutBox.class.getResource("[Votre image]"))); this.setTitle("A propos"); setResizable(false); panel1.setLayout(borderLayout1); panel2.setLayout(borderLayout2); insetsPanel1.setLayout(flowLayout1); insetsPanel2.setLayout(flowLayout1); insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); gridLayout1.setRows(4); gridLayout1.setColumns(1); label1.setText(product); label2.setText(version); label3.setText(copyright); label4.setText(comments); insetsPanel3.setLayout(gridLayout1); insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10)); button1.setText("Ok"); button1.addActionListener(this); insetsPanel2.add(imageLabel, null); panel2.add(insetsPanel2, BorderLayout.WEST); this.getContentPane().add(panel1, null); insetsPanel3.add(label1, null); insetsPanel3.add(label2, null); insetsPanel3.add(label3, null); insetsPanel3.add(label4, null); panel2.add(insetsPanel3, BorderLayout.CENTER); insetsPanel1.add(button1, null); panel1.add(insetsPanel1, BorderLayout.SOUTH); panel1.add(panel2, BorderLayout.NORTH); } /**Remplacé, ainsi nous pouvons sortir quand la fenêtre est fermée*/ protected void processWindowEvent(WindowEvent e) { if (e.getID() == WindowEvent.WINDOW_CLOSING) { cancel(); } super.processWindowEvent(e); } /**Fermer le dialogue*/ void cancel() { dispose(); } /**Fermer le dialogue sur un événement bouton*/ public void actionPerformed(ActionEvent e) { if (e.getSource() == button1) { cancel(); } } }