Afficher résultat d'une classe dans une interface [Résolu]

ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 5 avril 2007 à 22:33 - Dernière réponse : ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 13 avril 2007 à 09:51
bonsoir j'ai malheureusement un problème 

j'ai une classe Simplefenetre1 qui execute un problème et je voulais afficher dans une autre classe SimpleFenetre avec interafe qui affiche résulta de simpleFenetre1

j'ai essayé de créé un petit code pour un problème
voila le code de la classe SimpleFenetre1
<!-- BEGIN TEMPLATE: bbcode_code -->
package aa;
 
 
import java.util.Iterator;
import java.util.ArrayList;
 
import java.lang.StringBuffer;
import java.util.Arrays;
 
import java.lang.*;
class SimpleFenetre1 {
  SimpleFenetre1(){
 
   }
   publicstaticvoid main(String[] args){
  
 
int valeur=1;
  int   valeur2=34;
    
         valeur=valeur+valeur2;
    
ArrayList s = new ArrayList();
ArrayList A = new ArrayList();
 
    s.add("2");
    s.add("4");
    s.add("2");
   
  for(int i = 0;i<s.size();i++){
     String C= s.get(i).toString();
     C=C+1;
 
      A.add(C);
     }
  s=A;
System.out.println(valeur);
System.out.println(s);
  }
 
   }

et je cherche a afficher résulta sur la fenetre SimpleFenetre 

 
package aa;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.lang.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
 
 
publicclass SimpleFenetre extends JFrame implements ActionListener   {
private JButton Ok = new JButton("OK");
private GridBagLayout gbl = new GridBagLayout();
private JTextPane b = new JTextPane();
private JScrollPane n = new JScrollPane();
 
  public SimpleFenetre()  {
    this.getContentPane().setLayout(gbl);
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.fill = GridBagConstraints.NONE;
    gbc.gridx = 0;
    gbc.gridy = 0;
    b.setText("affichage");
    n.setPreferredSize(new Dimension(300, 225));
    n.setViewportView(b);
    gbl.setConstraints(this.n, gbc);
    this.getContentPane().add(this.n);
 
 
 
 
   gbc.gridy = 2;
   gbc.anchor = GridBagConstraints.FIRST_LINE_END;
   gbl.setConstraints(this.Ok, gbc);
   Ok.addActionListener(this);
   this.getContentPane().add(this.Ok);
 
 
 
 
 
 
  this.setResizable(false);
    this.setSize(520, 620);
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
}
   publicstaticvoid main(String[] args){
   SimpleFenetre gui = new SimpleFenetre();
}
 
 
  publicvoid actionPerformed(ActionEvent e){
    if(e.getSource().equals(Ok)){
 
     
    }
  }
 
}

si je tape sur le bouton le résultat de la classe SimpleFenetre1 affiche sur JScrollPane(); de la classe SimpleFenetre

j'espere que vous m'avez compris et merci de bien vouloir m'aider
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 7 avril 2007 à 22:34
3
Merci
Salut:

Ceci est un programme vite fait (tout le code est contenu dans un fichier nommé SendFrame.java):

// Fichier SendFrame.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SendFrame extends JFrame {

    // fenêtre recevant les données
    private ReceiveFrame frame = new ReceiveFrame ();   

    //
    private JTextField textBox = new JTextField (10);

    //
    private JButton submit = new JButton ("Submit");
 
    public SendFrame () {
        super ("Envoi");
        pack ();
        setSize (400, 400);
        setLocation (410, 0);
        setResizable (false);
        setDefaultCloseOperation (EXIT_ON_CLOSE);

        submit.addActionListener (new ActionListener () {
            public void actionPerformed (ActionEvent ae) {
                frame.addItem (textBox.getText ());
                frame.requestFocus ();
                textBox.setText ("");
            }
        });

        getContentPane ().setLayout (new FlowLayout ());
        getContentPane ().add (textBox);
        getContentPane ().add (submit);

        frame.setVisible (true);
    }

    public static void main (String [] args) {
        new SendFrame ().setVisible (true);
    }
}

class ReceiveFrame extends JFrame {
    // Liste déroulante
    private List list = new List (10, false);

    public ReceiveFrame () {
        super ("Reception");
        pack ();
        setSize (400, 400);
        setLocation (0, 0);
        setResizable (false);
        setDefaultCloseOperation (EXIT_ON_CLOSE);

        getContentPane ().setLayout (new BorderLayout ());
        getContentPane ().add (list, BorderLayout.CENTER);
    }

    public void addItem (String item) {
        list.add (item);
    }
}



________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts

Merci Ombitious_Developper 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 5 avril 2007 à 22:56
0
Merci
Salut:

Si tu veux faire communiquer deux applications alors tu peux utiliser:

1. Socket
2. Fichier
3. Tube


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 6 avril 2007 à 02:35
0
Merci
salut ami , mais je vois que tu n'as pas bien compris mon exemple et mon problème j'ai deux classe qui partiennent dans un mme package
Commenter la réponse de ulysse00
gmi19oj19
Messages postés
546
Date d'inscription
lundi 10 mai 2004
Dernière intervention
28 septembre 2011
- 6 avril 2007 à 09:34
0
Merci
Salut,

Non non, il a très bien compris...
Au lieu de faire des System.out.println() sur la sortie standard, tu rediriges ça vers un autre flux de sortie qui sera récupéré d'une manière ou d'une autre par ta fenetre, avec tous les traitements qui vont avec^^ Et le fait que les classes soit dans le même package ou non ne change strictement rien....

Par contre, deux remarques sur le code :
 
import java.lang.*; => Inutile, fait par défaut
package aa; => Inutile à mes yeux également. Même si le package anonyme est déconseillé depuis le JDK 1.4 (je crois), faire des packages avec des noms aussi peu explicite ne sert pas à grande chose... Mais bon, ça n'engage que moi^^

gmi19oj19
Commenter la réponse de gmi19oj19
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 6 avril 2007 à 10:23
0
Merci
Salut:

Comme ces deux classes déposent chacun d'une méthode main on peut rendre ces classes comme une application client/serveur pour s'échanger des données en utilisant les sockets. Le seul problème réside au bon choix du port (entre 1024 ... 65535) parceque les ports entre (1 ... 1023) sont réservés.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 6 avril 2007 à 12:42
0
Merci
donc cette méthode est nouvelle pour moi ,désolé mes amis je ne sais plus ou je dois commencer
pour mieux comprendre vous avez un lien qui me permet de mieux comprendre
ou un petit exemple
merci
Commenter la réponse de ulysse00
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 6 avril 2007 à 13:35
0
Merci
Salut:

Les exemples sont innombrables, il suffit de faire une petite recherche sur google.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 6 avril 2007 à 14:49
0
Merci
salut
 vous m'avez pas bien compris , vous m'avez compliqué par sette méthodes , ce que je cherche est simple c'est d'afficher le résuktat d'une classe dans une interface j'ai sité l'exemple qui est clair ,
Commenter la réponse de ulysse00
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 6 avril 2007 à 15:46
0
Merci
Salut:
http://java.sun.com/docs/books/tutorial/networking/sockets/index.html


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 6 avril 2007 à 23:50
0
Merci
bonsoir encore une fois , quel est le rapport entre mon pb et socket ,le pb est clair PLEASE mes amis soiyez un peu plus explicite car c'est trés interessant pour moi cette procedure d'afficher sur l'interface résultat d'un déroulement d'une autre classe , qui font parti de je mme package
merci encore
Commenter la réponse de ulysse00
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 7 avril 2007 à 01:23
0
Merci
Salut:

Crois moi on ne joue pas aux devinettes avec toi.

1. Solution:

Utiliser une seule méthode main, de cette façon tu peux communiquer tes deux fenêtres simplement en utilisant des accesseurs.

2. Solution:

Si tu comptes toujours utiliser deux mains alors la communication entre les deux classes est une communication inter-applications. Pour se faire tu construis une application client et une application serveur qui utilisent le même port pour s'échanger des données.

L'application cliente transfert les données à afficher à l'application serveur qui se trouev à l'écoute de l'application cliente, puis elle affiche les données réçues.

Personnellement, je ne sais pas si c'est possibel d'utiliser des main à l'intérieur du même package.

J'espère être clair avec toi.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 7 avril 2007 à 09:35
0
Merci
bonjour
content de m'avoir comprendre mon problème

le cas de mon problème est la 1 solution , comment j'utilise les
accesseurs pour faire communiquer deux les deux fenetre de mon exemple
car je volais afficher le résultat de chaque déroulemnt d'un pb sur une classe qui contient une interafce mais comment faire ça
je ne sais plus ou je commence
Commenter la réponse de ulysse00
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 7 avril 2007 à 18:32
0
Merci
vous avez une idée car je coince
Commenter la réponse de ulysse00
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 9 avril 2007 à 11:23
0
Merci
Salut:

Est ce que ça va?


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
ulysse00
Messages postés
292
Date d'inscription
lundi 6 novembre 2006
Dernière intervention
12 mai 2013
- 13 avril 2007 à 09:51
0
Merci
merci ami
Commenter la réponse de ulysse00

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.