Lire les caracteres au fur et à messure: java
Résolu/Fermé
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
-
5 mai 2010 à 09:52
Decon Messages postés 91 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 8 octobre 2014 - 5 mai 2010 à 13:42
Decon Messages postés 91 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 8 octobre 2014 - 5 mai 2010 à 13:42
A voir également:
- Lire les caracteres au fur et à messure: java
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Caractères ascii - Guide
- Lire epub - Guide
- Lire fichier bin - Guide
- Caractères spéciaux clavier azerty - Guide
10 réponses
Billgates95
Messages postés
43
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2010
24
5 mai 2010 à 10:01
5 mai 2010 à 10:01
slt pour lire les caracteres au fur et a mesure tu peux faire des manip de chaine
en C ou en C++
le mot cle en C++ est string de la librairie string .h;l'equivalent en C est sterlen
surtout noubli pas de les progra a la norme ISO ou ANSI selon le compilateur que tu as allez Bonne chance
en C ou en C++
le mot cle en C++ est string de la librairie string .h;l'equivalent en C est sterlen
surtout noubli pas de les progra a la norme ISO ou ANSI selon le compilateur que tu as allez Bonne chance
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
2
5 mai 2010 à 10:03
5 mai 2010 à 10:03
merci de la réponse; mais le langage qui m'est imposé est le java(c'est un projet à la fac).
xav3601
Messages postés
3289
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
5 mai 2010 à 10:21
5 mai 2010 à 10:21
Tu peux mettre le code qui leut permet de communiquer déjà!
Comme ca on pourra se baser la dessus pour essayer d'avancer!
Comme ca on pourra se baser la dessus pour essayer d'avancer!
Si tu dois le faire en Swing, voici un petit exemple basé sur un JTextField :
JFrame fr = new JFrame();
JTextField tf = new JTextField();
tf.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void insertUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
manageChange(e);
}
private void manageChange(DocumentEvent e) {
try {
System.err.println("Type : "+e.getDocument().getText(e.getOffset(), e.getLength()));
}
catch (BadLocationException e1) {
e1.printStackTrace();
}
}
});
fr.getContentPane().add(tf);
fr.pack();
fr.setVisible(true);
JFrame fr = new JFrame();
JTextField tf = new JTextField();
tf.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void insertUpdate(DocumentEvent e) {
manageChange(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
manageChange(e);
}
private void manageChange(DocumentEvent e) {
try {
System.err.println("Type : "+e.getDocument().getText(e.getOffset(), e.getLength()));
}
catch (BadLocationException e1) {
e1.printStackTrace();
}
}
});
fr.getContentPane().add(tf);
fr.pack();
fr.setVisible(true);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
2
5 mai 2010 à 10:30
5 mai 2010 à 10:30
code de la partie client:
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
/*
while (true)
{
//String ligne = "test";
char ligne = (char) clavier.read();
if (ligne=='!')
//if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
// ecrit le texte tapZ au serveur(ds le flux)
while (ligne!='!') sortie.print(ligne);
// if (ligne != null) sortie.println(ligne);
*
*/
while(true){
final char EOF = (char)-1 ; // caract'ere << End Of File >>
char carCourant ;
carCourant = (char) System.in.read () ;
if (carCourant == EOF){
// static void avancerCar () {
// try {
sortie.println("quitter");
break;
}
if (carCourant!= EOF) sortie.print(carCourant);
// catch (java.io.IOException e) {
// carCourant = (char) System.in.read () ;
// carCourant = EOF ; /* En cas d'exception, on consid'ere
// la fin de fichier atteinte. */
// }
// }
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
/*
while (true)
{
//String ligne = "test";
char ligne = (char) clavier.read();
if (ligne=='!')
//if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
// ecrit le texte tapZ au serveur(ds le flux)
while (ligne!='!') sortie.print(ligne);
// if (ligne != null) sortie.println(ligne);
*
*/
while(true){
final char EOF = (char)-1 ; // caract'ere << End Of File >>
char carCourant ;
carCourant = (char) System.in.read () ;
if (carCourant == EOF){
// static void avancerCar () {
// try {
sortie.println("quitter");
break;
}
if (carCourant!= EOF) sortie.print(carCourant);
// catch (java.io.IOException e) {
// carCourant = (char) System.in.read () ;
// carCourant = EOF ; /* En cas d'exception, on consid'ere
// la fin de fichier atteinte. */
// }
// }
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
2
5 mai 2010 à 10:34
5 mai 2010 à 10:34
non je me suis trompé de code, celui là n'est pas bon
Voici le bon:
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
while (true)
{
//String ligne = "test";
String ligne = clavier.readLine();
if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
//Ecrit dans le flux du serveur(sortie)
if (ligne != null) sortie.println(ligne);
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
Voici le bon:
import java.io.*;
import java.net.*;
public class Client
{
//on declare une socket de type Socket qui ouvre une connexion au serveur
//on declare une variable de type String
//on initialise le port de connexion au serveur (ici le port par defaut est 8254)
private Socket socket;
private String name;
private final int PORT=8254;
//la methode Client prend en param�tre une socket ainsi qu'une cha�ne de caract�re associee � cette Socket
public Client(Socket s, String n)
{
this.socket=s;
this.name=n;
}
public static void main(String[] args)
{
//try = gestion d'erreurs, lorqu'il re�oit une erreur, il l'intercepte et l'affiche avec le catch
//la methode "main" ouvre une socket sur une adresse IP par defaut et sur le port du serveur aussi passe en defaut
try
{
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
String numero = "8254";
String ipadress;
String pseudo = System.getProperty("user.name");
System.out.println("entrez l'adresse ip du serveur ");
ipadress= clavier.readLine();
Socket connexion = new Socket(ipadress, 8254);
//Socket connexion = new Socket("172.16.0.1", 8254);
//les 3 lignes de codes suivantes g�rent la gestion de lecture/ecriture du clavier
PrintWriter sortie = new PrintWriter(connexion.getOutputStream(), true);
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
//ici on informe le serveur qu'un nouveau client vient de se connecter
sortie.println("Nouveau client "+ numero);
//on fait appelle ^ la classe ThreadClient pour etablir la connexion
new ThreadClient(connexion, numero).start();
System.out.println("***************************************************************************"+"\n");
System.out.println("Bonjour "+pseudo+", bienvenue sur le Chat de notre equipe de developpement "+"\n");
System.out.println("***************************************************************************");
System.out.println("Connexion etablie!");
System.out.println("Pour sortir tapez : quitter");
System.out.println(pseudo+" peut desormais dialoguer avec les autres personnes connectees."+"\n");
//Tant que le Client n'a pas tapper "quitter", la connexion est toujours etablie
//le mot de passe "quitter" indique la fin d'une connexion
while (true)
{
//String ligne = "test";
String ligne = clavier.readLine();
if (ligne.equalsIgnoreCase("quitter"))
{
sortie.println("quitter");
break;
}
//la sortie du "try" si la connexion au serveur a echouZ, elle est indiquee
//Ecrit dans le flux du serveur(sortie)
if (ligne != null) sortie.println(ligne);
}
}
catch(IOException e) { System.out.println("Erreur client : "+e); }
System.out.println("Connexion terminee...");
}
//la methode getName permet de nous retourner le nom associe � la socket
public String getName()
{
return name;
}
//la methode getSocket nous retourne la Socket
public Socket getSocket()
{
return socket;
}
//setSocket permet de modifier la Socket et de la remplacer
public void setSocket(Socket socket)
{
this.socket = socket;
}
//setName permet de changer le nom attribue � la socket
public void setName(String name)
{
this.name = name;
}
}
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
2
5 mai 2010 à 10:59
5 mai 2010 à 10:59
Dois je mettre mon code directement dans la la JFrame? A que niveau?
Après tu organises ton code comme tu veux mais mon exemple définit la méthode manageChange dans laquelle se trouve un System.err qui affiche ce qui est lu à chaque frappe de touche dans le JTextField.
C'est un exemple qui te permet de comprendre comment récupérer la saisie au fur et à mesure, mais ce n'est pas la correction de ton projet ;)
C'est un exemple qui te permet de comprendre comment récupérer la saisie au fur et à mesure, mais ce n'est pas la correction de ton projet ;)
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
2
5 mai 2010 à 11:30
5 mai 2010 à 11:30
Quelqu'un peut il m'aider?????
Decon
Messages postés
91
Date d'inscription
mercredi 29 août 2007
Statut
Membre
Dernière intervention
8 octobre 2014
2
5 mai 2010 à 13:42
5 mai 2010 à 13:42
ok, merci