IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Comment afficher du texte avec swing ?


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut Comment afficher du texte avec swing ?
    Bonjour tout le monde,

    J'ai créé une petite appli en java en terminal et mainteant je voudrais passer en graphique mais le problème est que je ne sais pas comment afficher ce que fait le programme
    ex : quand je lance le serveur en terminal il y a un System.out.println("serveur lancé");
    ex : quand un client se connecte au serveur dans le terminal affiche "client connecté.
    Comment faire de même avec une interface graphique ?
    Voici pour l'instant la petite interface graphique que j ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class inter_serveur extends JFrame
    {
    	void init_menu()
    	{
    		setTitle("Serveur - Meda 1.0.0");
    		JMenuBar menubar = new JMenuBar();
    		JMenu fichier = new JMenu("Fichier");
    		fichier.setMnemonic(KeyEvent.VK_F);
    		JMenu action = new JMenu("Action");
    		action.setMnemonic(KeyEvent.VK_A);
    		JMenuItem quitter = new JMenuItem("Quitter");
    		quitter.setMnemonic(KeyEvent.VK_Q);
    		JMenuItem lancer = new JMenuItem("Lancer");
    		lancer.setMnemonic(KeyEvent.VK_L);
    		JMenuItem arreter = new JMenuItem("Arreter");
    		arreter.setMnemonic(KeyEvent.VK_R);
    		quitter.addActionListener(new quit());
    		fichier.add(quitter);
    		action.add(lancer);
    		action.add(arreter);
    		menubar.add(fichier);
    		menubar.add(action);
    		setJMenuBar(menubar);
    	}
    	public class quit implements ActionListener
    	{
    		public void actionPerformed(ActionEvent e)
    		{
    			System.exit(0);
    		}
    	}
    	inter_serveur()
    	{
     
    		this.init_menu();
    		boutons inter = new boutons();
    		this.getContentPane().add(inter);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setSize(400,500);
    		setVisible(true);
    	}
    	public static void main(String[] args)
    	{
    		new inter_serveur();
    	}
    }
    class boutons extends JPanel
    {
    	GridBagConstraints contrainte = new GridBagConstraints();
    	public boutons()
    	{
    		int x, y;
    		setLayout(new GridBagLayout());
    		JButton lancer = new JButton("Lancer");
    		JButton arreter = new JButton("Arreter");
    		JPanel ecart_haut = new JPanel();
    		JTextPane panneau = new JTextPane();
    		contrainte.weightx = 1.0;
    		contrainte.weighty = 0.01;
    		contrainte.gridwidth = 4;
    		ajout_GB(ecart_haut, x=0, y=0);
    		contrainte.gridwidth=1;
    		contrainte.weightx = 0.2;
    		contrainte.weighty = 0.2;
    		ajout_GB(lancer,x=1, y=1);
    		ajout_GB(arreter, x=1, y=3);
    		contrainte.gridheight=3;
    		contrainte.weightx = 1.0;
    		contrainte.weighty = 1.0;
    		contrainte.fill=GridBagConstraints.BOTH;
    		ajout_GB(panneau, x=3, y=1);
    	}
    	void ajout_GB(Component composant, int x, int y)
    	{
    		contrainte.gridx = x;
    		contrainte.gridy = y;
    		add(composant, contrainte);
    	}
    }
    J'ai mis un JTexte Panne mais je ne sais pas si c'est bon (c'est l'endroit où je veux voir s'afficher les différents intéractions entre le client et le serveur comme la connection d'un client ou sa deconnexion ...)
    Voici un petit bout de mon ancien code non graphique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    mport java.net.*;
    import java.io.*;
    import java.lang.String.*;
    //le serveur est créé et est en attente de connexion de client.
    public class serveur
    {
    	public serveur() throws IOException
    	{
    		int numero=1;
    		System.out.println("Serveur Connecté");
    		try 
    		{
    			ServerSocket ecoute =new ServerSocket(1234);
    			while(true)
    			{
    				Socket connexion = ecoute.accept();
    				new threadserveur(connexion, numero++).start();
    			}
    		}
    		catch (IOException ioe)
    		{
    			System.out.println(" erreur " +ioe);
    		}
    	}
    } 
     
    //sa c est le thread d ecoute du client
    import java.net.*;
    import java.io.*;
    import java.lang.String.*;
     
    public class threadserveur extends Thread
    {
    	Socket connexion;
    	int numero;
    	public threadserveur(Socket connexion, int numero)
    	{
    		this.connexion = connexion;
    		this.numero = numero;
    	}
    	public void run()
    	{
    		try
    		{
    			BufferedReader entrer = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
    			PrintWriter sortir = new PrintWriter(connexion.getOutputStream(), true);
    			sortir.println("Vous etes bien sur le serveur meda.homelinux.com\nPour sortir du serveur taper quit");
    			boolean arreter = false;
    			while (!arreter)
    			{
    				String ligne = entrer.readLine();
    				if(ligne==null)
    				{
    					arreter=true;
    				}
    				else
    				{
    					System.out.println(ligne);
    				}
    			}
    			System.out.println("Connexion client terminé");
    			connexion.close();
    		}
    		catch(IOException e)
    		{
    		System.out.println(e);
    		}
    	}
    }
    Donc je voudrais savoir comment faire pour que tout les system.out.println soit afficher dans l'interface graphique ou du moins comment faire et quels sont les outils et les methodes ...
    Si ce n'est pas claire demandez moi plus de précision

    merci pour votre aide

  2. #2
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut Re: [swing]Comment afficher du texte avec swing ?
    Citation Envoyé par meda
    Donc je voudrais savoir comment faire pour que tout les system.out.println soit afficher dans l'interface graphique
    Hello.
    Dans la librairie de code Java™ de Developpez, tu trouveras un composant permettant d'intercepter tous les System.out et de les faire "sortir" sur un JTextArea...

    Déjà un début...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    pourrais tu me donner le lien je n'arrive pas a trouver la page stp ?

    Merci pour ton aide

  4. #4
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    Merci je vais voir ça.

  6. #6
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Une solution plus propre aurait ete de remplacer tout tes System.out.println par un appel a une methode log par exemple..

    Cette methode suivant le mode de lancement de ton serveur (terminal ou swing) afficherait les logs soit sur la sortie standard soit dans ton JTextPane..

    Bulbo

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    Qu'est-ce qu'une méthode log ?

  8. #8
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Mars 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 71
    Points : 116
    Points
    116
    Par défaut
    une sortie vers un fichier Texte

    tu déclares une variable globale de type:
    private (static) PrintWriter sortie = null;

    et tu l'initialises au chargement de ta classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try {
    	sortie = new PrintWriter(new BufferedWriter(new  FileWriter("chemin_du_log/fichierlog.log", true)),true);
    } catch (IOException ioe) {
    	System.out.println("impossible d'écrire ce ù%µ$¤&##@ kuso kisama de fichier!!!!");
    }
    et ensuite au lieu de faire des System.out.println("gnagnagna") tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sortie.println("gnagnagna");
    n'oublie pas de faire un sortie.close() à la sortie de ton application!!!!

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    ok merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/07/2011, 18h51
  2. [VB.NET] comment écrire du texte avec opengl?
    Par ero_senin dans le forum OpenGL
    Réponses: 2
    Dernier message: 17/01/2005, 14h34
  3. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 22h29
  4. Afficher une image avec swing
    Par arnonote dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/08/2004, 13h10
  5. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo