Interface graphique en java avec JCreator

meryazer Messages postés 23 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 26 décembre 2009 - 16 juil. 2008 à 10:58
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 16 juil. 2008 à 11:23
bonjour à tous
voila mon probleme:
je desire faire une interface graphique en java, avec JCreator et codé à la main, mais le soucis c'est je ne sais pas comment manipuler l'emplacement des composant (textarea,bouton...) tout ce que j'ai réussi à faire c'est d'indiquer si c'est au sud ,nord ,ouest,center de la fenetre, mais moi je veux choisir les coordonnées qui me conviennent, voici le code de ma fenetre, y'a aussi le main pour visualiser et merci d'avance

import java.awt.*;
import javax.swing.*;



public class FenetreClient extends JFrame




    private JTextArea texte;
    private JTextArea chat;
    public JButton envoyer;
    public JButton quitter;  



    public  FenetreClient() {
        super();
        build();
       
    }
    //le code de la fenetre
    private void build()
    {
       
        setSize(700,400);
        setLocationRelativeTo(null);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().add("North", ContenuFenetre());
        getContentPane().add("West", ContenuTexte());
        getContentPane().add("East", ContenuBouton());
        getContentPane().add("South",ContenuBtn());
       
       
    }
    //le code du premier textarea
    private JPanel ContenuFenetre()
    {
        chat = new JTextArea(10,40);
        chat.setLineWrap(true);
        chat.setEditable(false);
        chat.setFont(new java.awt.Font("MS_Mincho",1,13));
        chat.setForeground(new java.awt.Color(102,32,179));     
        JScrollPane scrool = new JScrollPane(chat);
        JPanel contenu =new JPanel();
        contenu.setLayout(new FlowLayout());
        contenu.add(scrool);     
        return contenu;
       
    }
    //le code du deuxieme textarea
        private JPanel ContenuTexte()
    {
        texte = new JTextArea(5,40);
        texte.setLineWrap(true);  
        texte.setFont(new java.awt.Font("MS_Mincho",1,12));
        texte.setForeground(new java.awt.Color(49,24,186));
        texte.setToolTipText("Tapez votre message ici");     
        JScrollPane scrool = new JScrollPane(texte);
        JPanel contenu =new JPanel();
        contenu.setLayout(new FlowLayout());
        contenu.add(scrool);   
        return contenu; 
    }
   
    //le code du bouton "Envoyer"
    private JPanel ContenuBouton()
    {
       
        JPanel contenu =new JPanel();
        envoyer = new JButton("Envoyer");
        envoyer.setToolTipText("Cliquez pour envoyer");
        contenu.add(envoyer);
        return contenu;
    }
   
    //le code du bouton "Se deconnecter"
        private JPanel ContenuBtn()
    {
        JPanel contenu =new JPanel();
        quitter = new JButton("Se deconnecter");
        quitter.setToolTipText("Cliquez pour se deconnecter");
        contenu.add(quitter);
        return contenu;
    }
    public JTextArea getAreaTxt()
    {
 return texte;
    }
     public JTextArea getArea()
    {
 return chat;
    }
    public JButton getButton()
    {
        return envoyer;
    }
        public JButton getBtn()
    {
        return quitter;
    }
        public static void main(String  args[]) throws Exception
    {



        FenetreClient f= new FenetreClient();
        f.setVisible(true);
    }
}

4 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
16 juil. 2008 à 11:12
Salut,

pour définir explicitement l'emplacement de tes composants, utilises la méthode setBounds();

JButton bouton = new JButton("OK");
bouton.setBounds(100, 150);
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
16 juil. 2008 à 11:21
Salut,

setBounds(x, y, w, h) ou setBounds(rectangle) ^^

sinon autre précision, si tu veux faire du positionnement explicite (ce qui n'est pas vraiment recommandé et qui est super chiant à gérer) pense bien à faire un setLayout(null) sur le composant parent

si tu veux, tu peux toujours faire un saut sur ce tutos ICI (il reprend les différents layout dispo en standard dans la jvm)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
meryazer Messages postés 23 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 26 décembre 2009
16 juil. 2008 à 11:23
merci pour vos reponses je vais essayer tous ça
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
16 juil. 2008 à 11:23
désolé pour la faute : je ne fais pas du java tous les jours :(
0
Rejoignez-nous