La carte sur la gauche est un JPanel et je cherche à placer mon premier textfield et le bouton rechercher tout en haut à droite et les 2 autres textfield ainsi que le bouton Calculer juste en dessous mais tout reste sur la même ligne !
Voici le code de l'affichage :
Toolkit k = Toolkit.getDefaultToolkit();
//calcule la largeur de l'écran
int largeurEcran=k.getScreenSize().width;
//calcule la hauteur de l'écran
int hauteurEcran=k.getScreenSize().height;
//donne un titre à la fenêtre
setTitle("Atlas routier");
//détermine la taille de la fenêtre
setSize(largeurEcran,hauteurEcran);
//création du JPanel contenant le champ de saise et le bouton rechercher
JPanel p1 = new JPanel();
setLayout(new BorderLayout());
textNom=new JTextField();
// détermine la taille du champ de saisie
textNom.setPreferredSize(new Dimension(110,25));
// on ajoute le champ de saisie à l'est du JPanel
p1.add(textNom,BorderLayout.EAST);
btnAfficher=new JButton("Rechercher");
// on ajoute le bouton à l'est du JPanel
p1.add(btnAfficher,BorderLayout.EAST);
// champ de saisie ville de départ
textDepart=new JTextField();
textDepart.setPreferredSize(new Dimension(110,25));
p1.add(textDepart,BorderLayout.CENTER);
// champ de saisie ville d'arrivée
textArrivee=new JTextField();
textArrivee.setPreferredSize(new Dimension(110,25));
p1.add(textArrivee,BorderLayout.CENTER);
//bouton calcul itinéraire
btnCalculer=new JButton("Calculer");
p1.add(btnCalculer,BorderLayout.CENTER);
// on ajoute le JPanel à l'est de la fenêtre
add(p1,BorderLayout.EAST);
setVisible(true);
// permet de récupérer le clic sur le bouton
btnAfficher.addActionListener(this);
btnCalculer.addActionListener(this);
// on ajoute le JPanel maCarte au centre de la fenêtre
add(maCarte,BorderLayout.CENTER);
Ayant plutôt l'habitude de développer en C# sous Visual Studio où l'on place les composants à sa guise, j'ai du mal à me faire à Java.
Une âme charitable pourrait-elle m'aider ?
merci d'avance et bonne soirée.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 2 janv. 2008 à 18:33
Salut,
C'est cà le problème d'utiliser des designers graphiques : non seulement on ne sait pas ce qu'ils font derrière (et donc on ne sais pas comment faire sans) mais en plus le code produit est de piètre qualité !
Pour ton problème, utilise donc un gridbaglayout qui te permettra de faire tout ce que tu voudra niveau présentation.
______________________________________
DarK Sidious
cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 20147 2 janv. 2008 à 18:48
merci pour ta réponse, je sais que les designers graphiques produit un code de piètre qualité et c'est pour ça que j'essaie de changer de ce côté là !
Je viens de regarder sur ma fiche de TP dit qu'il faut utiliser un container et utiliser un BoxLayout pour le le container. Il faut ensuite ajouter dans le Content Pane de l'application le container.
cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 20147 2 janv. 2008 à 20:04
Quelqu'un pourrait m'aider car je n'y comprend rien, je n'arrive pas à trouver un tuto pas trop compliqué sachant qu'il m'est imposé dans mon TP une consigne à savoir :
Créez un Container et insérez-y un label pour le titre, une zone de saisie un bouton, ... Ce Container sera votre interface. Utilisez le layout suivant pour votre Container :
BoxLayout interfaceLayout = new BoxLayout.Y_AXIS)
Ajoutez dans le ContentPane de votre application la carte et l'interface.
Je suis sûr qu'après je ferais ça les doigts dans le nez mais pour l'instant j'ai beaucoup de mal !