1 pièce(s) jointe(s)
Fenetre avec 2 style de Layout
Bonjour,
Je créé une fenetre avec swing et j'aimerais avoir en premier lieu un affichage selon les borderlayout (North pour le menu, South pour la barre d'information, etc) et j'aimerai qu'au centre (Center) de cet affichage. Je puisse placer des objets comme des boutons, champs, etc avec non pas des borderlayout mais avec des méthodes telles que setbounds(). J'aimerais placer mes boutons comme je le souhaite avec les méthodes setbounds() dans le rectangle rouge !
Voici mes deux fichiers:
// Gère l'affichage
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| // Importation des librairies nécessaires pour la classe.
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class ApplicationFrame extends JFrame
{
static final long serialVersionUID = 0;
BorderLayout borderLayout = new BorderLayout ();
private JPanel container = null;
int tailleHauteurFenetre = 800;
int tailleLargeurFenetre = 600;
int tailleHauteurBouton = 20;
int tailleLargeurBouton = 80;
JMenuBar jMenuBar = new JMenuBar ();
JMenu jMenuFichier = new JMenu ();
JMenuItem jMenuFichierQuitter = new JMenuItem ();;
JMenu jMenuAide = new JMenu ();
JMenuItem jMenuAideApropos = new JMenuItem ();
JButton bouton = new JButton () ;//Création du bouton
// Constructeur pour l'application.
public ApplicationFrame ()
{
// Permet de déclencher la gestion des événements graphiques.
enableEvents (AWTEvent.WINDOW_EVENT_MASK);
// Méthode JbInit.
jbInit ();
}
private JPanel getContainer(){
// JPanel pour contentPane.
container = (JPanel) getContainer ();
// Disposition dans le JPanel.
container.setLayout(null);
bouton.setBounds(20, 10 , 50, 50);
return container ;
}
// Méthode JbInit.
private void jbInit ()
{
setLayout (borderLayout);
add (statusBar, BorderLayout.SOUTH);
statusBar.setText ("Acceuil");
// Taille de la fenêtre.
setSize (new Dimension (tailleHauteurFenetre, tailleLargeurFenetre));
// Titre de la fenêtre.
setTitle ("Acceuil");
Image icone = Toolkit.getDefaultToolkit().getImage("src/img/test.jpg");
setIconImage(icone);
jMenuFichier.getPopupMenu().setLightWeightPopupEnabled(false);
jMenuAide.getPopupMenu().setLightWeightPopupEnabled(false);
jMenuBar.add (jMenuFichier);
jMenuBar.add (jMenuAide);
setJMenuBar (jMenuBar);
jMenuFichier.setText ("Fichier");
jMenuFichierQuitter.setText ("Quitter");
jMenuAide.setText ("Aide");
jMenuAideApropos.setText ("A propos");
jMenuFichier.add (jMenuFichierQuitter);
jMenuAide.add (jMenuAideApropos);
jMenuBar.setVisible(true);
bouton.setPreferredSize(new Dimension(125,25)) ;//On lui donne une taille
bouton.setText("Cliquer ici") ;//On lui donne un texte
}
public void addFichierQuitterActionListener (ActionListener listener)
{
// On ajoute une action au Listener.
jMenuFichierQuitter.addActionListener (listener);
}
public void addAideAproposActionListener (ActionListener listener)
{
jMenuAideApropos.addActionListener (listener);
}
// Cette méthode permet de récetpion des évenements généraux.
protected void processWindowEvent (WindowEvent event)
{
super.processWindowEvent (event);
// Permet de fermer la fenetre si on clique sur la croix.
if (event.getID () == WindowEvent.WINDOW_CLOSING)
{
System.exit (0);
}
}
} |
et
// Gère les traitements.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| // Importation des librairies nécessaires pour la classe.
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.PopupMenu;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class ApplicationPilote
{
private ApplicationFrame applicationFrame;
public ApplicationPilote ()
{
// Création de l'encadrement principal de l'application.
setApplicationFrame (new ApplicationFrame ());
// Dimensions de l'écran.
Dimension screenSize = Toolkit.getDefaultToolkit ().getScreenSize ();
// Dimensions de l'encadrement.
Dimension frameSize = applicationFrame.getSize ();
if (frameSize.height > screenSize.height)
{
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width)
{
frameSize.width = screenSize.width;
}
// Emplacement de l'encadrement.
getApplicationFrame ().setLocation ((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
getApplicationFrame ().addFichierQuitterActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent event)
{
jMenuFichierQuitter_actionPerformed (event);
}
});
// Activation de l'encadrement.
getApplicationFrame ().setVisible (true);
// ne pas redimensionné la fenetre
getApplicationFrame ().setResizable(false);
}
// Méthode qui permet de retourner ApplicationFrame.
public ApplicationFrame getApplicationFrame ()
{
return applicationFrame;
}
public void setApplicationFrame (ApplicationFrame pApplicationFrame)
{
applicationFrame = pApplicationFrame;
}
// Quitter.
public void jMenuFichierQuitter_actionPerformed (ActionEvent event)
{
System.exit (0);
}
// Point d'entrée du programme.
public static void main (String args [])
{
try
{
// Affecte le "look" de l'application d'après le système d'exploitation.
UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ());
}
catch (InstantiationException exception)
{
exception.printStackTrace ();
}
catch (UnsupportedLookAndFeelException exception)
{
exception.printStackTrace ();
}
catch (ClassNotFoundException exception)
{
exception.printStackTrace ();
}
catch (IllegalAccessException exception)
{
exception.printStackTrace ();
}
new ApplicationPilote ();
}
} |
Merci !