Le blog de Bastien

Le blog de Bastien

Client Graphique

ClientGraphique.java

 

import javax.swing.*;

import java.awt.*;
import java.util.*;
import java.io.*;
import java.net.*;

public class ClientGraphique extends JFrame {
    private JTextField texteF; // zone de saisie des messages à envoyer
    private JTextArea texteA; // zone des messages reçus
    private PrintStream netOut; // pour écrire sur le réseau
    
    public ClientGraphique( String titre, PrintStream ps ) {
        super( titre );
        netOut = ps;
        BorderLayout bl;
        bl = new BorderLayout();
        this.setLayout( bl );
        
        texteA = new JTextArea ( 30, 15 );
        JScrollPane scrollP;
        scrollP = new JScrollPane( texteA );
        texteA.setEditable(false);
        this.add( scrollP, BorderLayout.CENTER );
        
        
        this.add( texteA, BorderLayout.CENTER );
        
        JPanel pan;
        pan = new JPanel();
        JButton envoyer;
        envoyer = new JButton ( "envoyer" );
        texteF = new JTextField( 20 );
        pan.add( envoyer );
        pan.add( texteF );
        this.add( pan, BorderLayout.SOUTH );
        
        Ecouteur ec;
        ec = new Ecouteur( 1, this);
        envoyer.addActionListener( ec );
        Ecouteur ec2;
        ec2 = new Ecouteur(2, this);
        texteF.addActionListener(ec2);
        this.pack();
        this.setVisible(true);
        
    }

    
    public void entrer() {
        String ligne;
        ligne = texteF.getText();
        netOut.println( ligne );
        texteF.setText( "" );
        texteA.append("Message envoyé :\n->" + ligne +"\n");
    }
    
    public void ecrire ( String ligne ){
        texteA.append(ligne + "\n" ); // ecrit dans le textArea
    }


    public static void main (String[] args) throws IOException {
        Socket s;
        InputStream in;
        OutputStream out;
        Scanner scan;
        PrintStream ps;
        Scanner clavier;
        String ligne;
        
        s = new Socket ("localhost", 60000);
        
        in = s.getInputStream();
        scan = new Scanner(in); // Pour lire sur le réseau
        
        out = s.getOutputStream();
        ps = new PrintStream(out); // Pour écrire sur le réseau
        
        clavier = new Scanner (System.in);
        
        ClientGraphique cg;
        cg = new ClientGraphique("Chat version 1.0", ps );
        
        while( true ){
            ligne = scan.nextLine(); // récup réseau
            cg.ecrire(ligne);
        }
    }
}


 

Ecouteur.java

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Ecouteur implements ActionListener {
    private int choix;
    private ClientGraphique fen;
    
    public Ecouteur( int c, ClientGraphique f) {
        choix = c;
        fen=f;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        switch(choix){
        case 1 :
            //Appelle la fonction qui permettra d'effacer le mot
            fen.entrer();
        break;
        case 2 :
            fen.entrer();
            break;
        }
    }

}


 

Serveur.java

 

import java.net.*;
import java.io.*;
import java.util.*;

public class Serveur {
    public static void main (String[] args)throws IOException{
        Socket s;
        ServerSocket ss;
        InputStream in;
        OutputStream out;
        Scanner scan;
        PrintStream ps;
        String ligne;    
        Scanner clavier;
        
    ss = new ServerSocket (60000);
    s = ss.accept();
    
    in = s.getInputStream();
    scan = new Scanner(in); // Pour lire sur le réseau
    
    out = s.getOutputStream();
    ps = new PrintStream(out); // Pour écrire sur le réseau
    clavier = new Scanner (System.in);

    
    while( true ){
        ligne = scan.nextLine(); // récup réseau
        //System.out.println(ligne);
        //ligne = clavier.nextLine();
        ps.println(ligne); // envoie au réseau
    }
    
    }
}

 



22/05/2013
0 Poster un commentaire

A découvrir aussi


Ces blogs de Informatique & Internet pourraient vous intéresser

Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour