luckybenji86
Messages postés42Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention16 mai 2008
-
10 mars 2008 à 11:31
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
10 mars 2008 à 14:53
Bonjour,
Voila, mon problème n'est pas trés simple à expliqué mais pour faire simple :
Prenais un classe "a" utilisant le composant swing et depuis le actionListener d'un bouton, celle-ci appel une autre classe "b". Dans la classe "b", on crée un formulaire en swing et voila mon probleme. J'aimerais transmettre les infos inscrite dans le formulaire depuis "b" vers "a".
J'ai essayait de passé l'instance la classe "a" dans la "b" pour pouvoir appelé depuis"b" des variables public de "a" mais ca ne marche pas.
Comment faire ???
Meric d'avance....
P.S. : j'ai deja pensais a re instancier la class "a" dans "b" mais la fenetre de la class "a" est recreer et je me retrouve avec deux fenetre de la classe "a"...
luckybenji86
Messages postés42Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention16 mai 20081 10 mars 2008 à 14:29
Ca y est, ca marche.
Mon probleme été comment je transmetté mon instance de Boutique à Formulaire lors de mon appel de classe Formulaire.
//form = new Formulaire(contenuCommande,0,gui);
form = new Formulaire(contenuCommande,0,Boutique.this);
//form.form(contenuCommande,0,gui);
form.form(contenuCommande,0,Boutique.this);
Merci pour vos tes conseils Ombitious Developper...
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 10 mars 2008 à 12:15
Salut:
C'est difficile de juger ce que tu as fait sans avoir un code devant nous. Personnellement je pense que tu as un problème avec la référence this.
En attendant, il est préférable d'encapsuler les données saisies à partir du formulaire dans Bean, par exemple:
publi class PersonBean {
private String name;
private String address;
private int age;
// Autres attributs
// ...
luckybenji86
Messages postés42Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention16 mai 20081 10 mars 2008 à 12:20
Merci pour ta réponse Ombitious Developper, je pense que c'est ce dont j'avais besoin et le pire c'est que j'ai déja utiliser des classes avec getter et setter.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 10 mars 2008 à 12:27
Salut:
Mon ami [luckybenji86] oublies pour le moment la classe [PersonBean].
Concentrons nous sur les classes A et B.
Est ce que nous donner un bout de code qui montre comment tu fais appel à la classe B?
En particulier la partie du code qui cause le problème !!!
Cordialement ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
luckybenji86
Messages postés42Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention16 mai 20081 10 mars 2008 à 13:50
Pour pouvoir implanter des valeur dans les string de la classe "PersonBean" et les récuperer depuis une autre classe, il faut la meme instance sinon on ne peut pas les récuperé je pense. Ai je tort???
luckybenji86
Messages postés42Date d'inscriptionlundi 5 septembre 2005StatutMembreDernière intervention16 mai 20081 10 mars 2008 à 14:00
Oki, alors la classe contenant le main est celle-ci :
public static void main(String[] args) throws Exception{
String lesLangues[]={ "Francais/French","Anglais/English"};
int choixLangue =JOptionPane.showOptionDialog(null, "Selectionnez une langue / Select a language","Language",JOptionPane.DEFAULT_OPTION,JOptionPane.QUESTION_MESSAGE,null,lesLangues, lesLangues[0]);
System.out.println(choixLangue);
La classe Boutique contient une fenetre swing créer depuis le constructeur et hérite de JFrame.
Lors du clique sur un item du menu, l'actionListener de l'item appel la fonction Formulaire comme ceci :
form = new Formulaire(contenuCommande,0,gui);
form.form(contenuCommande,0,gui);
puis la classe formulaire creer une fenetre dans avec différents champs a remplir puis un bouton pour valider.
Lors de l'appel, de la classe formulaire, gui représente l'instance de la classe Boutique que je transmet à la classe Formulaire pour appelé des variable public de Boutique depuis Formulaire mais ca ne marche pas...
private void build(){
this.setContentPane(getContainer());
this.setTitle("Formulaire"); //On donne un titre à l’application
this.setSize(520,460); //On donne une taille à notre fenêtre
this.setLocation(250,100);
this.setResizable(false) ; //On interdit la redimensionnement de la fenêtre
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
}
public void form (String contenuEdit, int isTo, Boutique gui) throws IOException{
JOptionPane.showMessageDialog(null,"Vous allez entrer les informations pour la livraison de la commande","",JOptionPane.INFORMATION_MESSAGE);
Formulaire form = new Formulaire(contenuEdit,isTo,gui); //On crée une nouvelle instance de notre fenêtre
form.setVisible(true);
}
private JPanel getContainer(){
layout = new FlowLayout(); //Instanciation du layout
layout.setAlignment(FlowLayout.CENTER);//On centre les composants
container = new JPanel() ; //On crée notre objet
container.setLayout(layout); //On applique le layout
lTitre = new JLabel();
...
...
bCommander = new JButton("Commander");
bCommander.addActionListener(this);
container.add(bCommander);
return container;
}
public void actionPerformed(ActionEvent e){
if(e.getSource()== bCommander){
//System.out.println("printOrMail ->"+printOrMail);
if(printOrMail == 0){
Impression imp = new Impression("",ContenuEditable);
imp.printContent(ContenuEditable);
}
else{
try{
sendMail mail = new sendMail();
mail.envoiCourrier(ContenuEditable);
}catch(Exception ex){
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 10 mars 2008 à 14:53
Salut:
C'est comme ça qu'on apprend (On se bloque puis après avoir bien réfléchit on trouve la solution).