[JAVA] Projet de chat... mais ou ca bloque ????

Projet de chat... mais ou ca bloque ???? [JAVA] - Programmation

Marsh Posté le 06-02-2002 à 22:29:49    

Bon je sais, je dois pas etre tres bon en java... ca c'est a peu pres sur, mais j'ai commence a faire ce prog, en fait pour le moment je veux generer l'interface de mon prog mais y'a que la fenetre qui s'affiche, pas les elements que j'ai mis dedans...
 
Est ce que quelqu'un sait pourquoi?
 
 
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
 
public class Chatinterface extends JFrame{
    private String titreFenetre;
    private JLabel labelInfos1;
    private JLabel labelInfos2;
    private JTextField fieldMessage;
     
    private void CreerElements()
    {
    titreFenetre="Fenetre de chat";
    //on cree tous les éléments visuels (boutons, labels, etc...)
    labelInfos1 = new JLabel();
    //labelInfos1.setText="Infos : ";
    labelInfos2 = new JLabel();
    fieldMessage = new JTextField();
    //on cree le layout et l'evenement pour fermer la fenetre
    getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
    setTitle(titreFenetre);
    //si on ferme la fenetre, le programme quitte
    addWindowListener(new WindowAdapter()
        {
        public void windowClosing(WindowEvent evt)
        {
        System.exit(0);
        }
        });
    //on ajoute tous les elements visuels au layout
    getContentPane().add(labelInfos1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, -1, -1));  
    getContentPane().add(fieldMessage, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 290, 450, -1));
    show();
    }
    /** Creates new Chatinterface */
    public Chatinterface() {
     CreerElements();    
         
    }
 
}
 
 
public class Srcchat {
    private Chatinterface Fenetre;
    /** Creates new Chat */
    public Srcchat() {
    Fenetre=new Chatinterface();
    }
 
}
 
 
public class Testchat {
 
    /** Creates new Testchat */
    public Testchat() {
    }
 
    /**
    * @param args the command line arguments
    */
    public static void main (String args[]) {
        Srcchat monChat=new Srcchat();
    }
 
}

 

[jfdsdjhfuetppo]--Message édité par billyboy78--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 06-02-2002 à 22:29:49   

Reply

Marsh Posté le 06-02-2002 à 23:27:55    

:ouch:  :ouch:

Reply

Marsh Posté le 07-02-2002 à 07:16:20    

Bah alors y'a personne qui sait???? :crazy:

Reply

Marsh Posté le 07-02-2002 à 10:40:58    

Tu peut essayer avec un layoutmanager plus classique ? genre BorderLayout ?
De toutes manieres seul le textfield doit etre visible puisque le labal n'a pas de texte ...

Reply

Marsh Posté le 07-02-2002 à 12:07:38    

1) ton layout manager est pourris
2) essaie d'appeller pack() avant show()


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-02-2002 à 13:33:24    

OK pour le pack. Et puis y a un commentaire qui fait peur dans ton code :
 
//labelInfos1.setText="Infos : ";
 
Si tu veux que ça donne qqch quand tu décommenteras, essaie plutôt :
 
labelInfos1.setText("Infos : " );
 
C'est beaucoup mieux.

Reply

Marsh Posté le 07-02-2002 à 18:46:05    

Cherrytree a écrit a écrit :

OK pour le pack. Et puis y a un commentaire qui fait peur dans ton code :
 
//labelInfos1.setText="Infos : ";
 
Si tu veux que ça donne qqch quand tu décommenteras, essaie plutôt :
 
labelInfos1.setText("Infos : " );
 
C'est beaucoup mieux.  




 
y a un autre foromeur qui a fait exactement pareil la semaine passée. Il voulait changer le texte d'un JButton et je lui réponds : bin setText() et c'est tout juste si il ne m'engueule pas en disant que ca marche pas ...
 
Du genre t'es con ton machin ca fonctionne pas
 
en fait, il faisait
 
but.setText="Envoyer";
 
:D
 
y en a j'te jure ;)


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 07-02-2002 à 18:58:15    

Salut a tous, j'etais en cours alors j'ai pas vu vos reponses, alors bon pour l'histoire du setText, c vrai, c juste que j'ai pas fait gaffe en l'ecrivant  :D  
 
Par contre pour le layout, honnetement, si on veut placer des elements vraiment comme on veut, a part celui la, je trouve le reste pourri, des genres de quadrillage ou autre... c permet pas de faire grand chose....
 
Mais le gros probleme c que la plus grande partie de ce code a ete genere avec forte version 3, pour ce qui est du layout et des elements (textfield) et dans forte, la classe qui est genere fonctionne, mais quand je retranscri ca dans ma classe, ca ne fonctionne plus.. la fenetre s'affiche mais pas le textfield....
 
 
Sinon pour Pack() j'ai deja essaye mais ca donne rien.... donc voila, la je suis entrain de chercher mais si y'a a qui on d'autres solutions, pourquoi pas....

Reply

Marsh Posté le 07-02-2002 à 19:09:54    

Alors prends Forte 2

Reply

Marsh Posté le 07-02-2002 à 19:12:24    

Cherrytree a écrit a écrit :

Alors prends Forte 2  




 
Comment ca????

Reply

Marsh Posté le 07-02-2002 à 19:12:24   

Reply

Marsh Posté le 07-02-2002 à 19:22:27    

Ok bon bah je m'y suis un peu remis et ca remarche alors je sais pas quel merde il y avait mais je devais etre fatigue hier soir....
 
Bon en tout cas merci pour l'aide....

Reply

Marsh Posté le 07-02-2002 à 19:35:32    

Ah si tiens, encore une petite question si y'en a qui savent....
 
Pour le moment, ma fenetre s'ouvre mais on ne voit que la barre de titre, il faut que j'etende la fenetre pour voir mes elements, comment on peut specifier la taille de la fnetre?

Reply

Marsh Posté le 07-02-2002 à 19:48:48    

ca ca trainait qq part  
tu peux le compiler tel quel
j ai laisser que la fenetre de chat qui est vraiment tt ce uqi a de plus simple!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Chat extends JFrame {
 
private  JButton bouton;
private  JTextField textField;
private  String user;
private  JTextArea textArea;
private  JPanel hautPanel;
private  JPanel southPanel;
private  JPanel centerPanel;  
private  JLabel nomLabel;
private  JLabel ipLabel;
private  JLabel loginLabel;
private  JButton bt;
private  JPanel pane;
    public Chat()
    {
   
        super("Chat" );
        textArea = new JTextArea();
        hautPanel = new JPanel();
        southPanel = new JPanel();
        centerPanel = new JPanel();
        bouton = new JButton();
        textField = new JTextField(25);
        centerPanel.setLayout(new BorderLayout());
         bouton.setText("Envoyer" );
         bouton.setMargin(new Insets(2,2,2,2));
         centerPanel.setPreferredSize(new Dimension(150, 170));
         textArea.setEditable(false);
         getContentPane().add(centerPanel, "Center" );
         getContentPane().add(southPanel, "South" );
         southPanel.add(textField, null);
         southPanel.add(bouton, null);
         centerPanel.add(new JScrollPane(textArea), "Center" );
   
    }
   
    public void setText(String s,String nom)
    {
        textArea.append(nom + ">" + s + "\n" );
    }
     
    public void setText(String s)
    {
        textArea.append(s + "\n" );
    }
public static void main (String args [])
 {
 Chat chat = new Chat();
  chat.pack();
  chat.setVisible(true);
   
 }
}
 :hello:

Reply

Marsh Posté le 07-02-2002 à 22:29:30    

Alors pour ta fenêtre, voilà trois méthodes quasi "obligatoires"
 
Pour mettre le titre dans la barre de titre :
 
Fenetre.setTitle("Mon Projet" );
 
Pour régler la taille de ta fenêtre;
 
Fenetre.setSize(800,600);
 
Pour fermer ta fenêtre avec la croix :
 
Fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Reply

Marsh Posté le 07-02-2002 à 22:42:53    

merci c cool

veryfree a écrit a écrit :

ca ca trainait qq part  
tu peux le compiler tel quel
j ai laisser que la fenetre de chat qui est vraiment tt ce uqi a de plus simple!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Chat extends JFrame {
 
private  JButton bouton;
private  JTextField textField;
private  String user;
private  JTextArea textArea;
private  JPanel hautPanel;
private  JPanel southPanel;
private  JPanel centerPanel;  
private  JLabel nomLabel;
private  JLabel ipLabel;
private  JLabel loginLabel;
private  JButton bt;
private  JPanel pane;
    public Chat()
    {
   
        super("Chat" );
        textArea = new JTextArea();
        hautPanel = new JPanel();
        southPanel = new JPanel();
        centerPanel = new JPanel();
        bouton = new JButton();
        textField = new JTextField(25);
        centerPanel.setLayout(new BorderLayout());
         bouton.setText("Envoyer" );
         bouton.setMargin(new Insets(2,2,2,2));
         centerPanel.setPreferredSize(new Dimension(150, 170));
         textArea.setEditable(false);
         getContentPane().add(centerPanel, "Center" );
         getContentPane().add(southPanel, "South" );
         southPanel.add(textField, null);
         southPanel.add(bouton, null);
         centerPanel.add(new JScrollPane(textArea), "Center" );
   
    }
   
    public void setText(String s,String nom)
    {
        textArea.append(nom + ">" + s + "\n" );
    }
     
    public void setText(String s)
    {
        textArea.append(s + "\n" );
    }
public static void main (String args [])
 {
 Chat chat = new Chat();
  chat.pack();
  chat.setVisible(true);
   
 }
}
 :hello:  



Reply

Marsh Posté le 07-02-2002 à 22:43:26    

ah ok, c pas complique mais bon faut les trouver lol, merci en tout cas

Roco a écrit a écrit :

Alors pour ta fenêtre, voilà trois méthodes quasi "obligatoires"
 
Pour mettre le titre dans la barre de titre :
 
Fenetre.setTitle("Mon Projet" );
 
Pour régler la taille de ta fenêtre;
 
Fenetre.setSize(800,600);
 
Pour fermer ta fenêtre avec la croix :
 
Fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  



Reply

Marsh Posté le 08-02-2002 à 01:10:59    

Citation :

Par contre pour le layout, honnetement, si on veut placer des elements vraiment comme on veut, a part celui la, je trouve le reste pourri, des genres de quadrillage ou autre... c permet pas de faire grand chose....


Si tu veux vraiment placer les composants comme tu veux, soit tu reecrit ton layoutmanager (un jour peut etre), soit tu utilise borderlayout et tu surcharge les preferedsize des composants.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed