Swing

Résolu
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012 - 25 juin 2010 à 00:04
eddaoudy123 Messages postés 2 Date d'inscription dimanche 27 juin 2010 Statut Membre Dernière intervention 27 juillet 2010 - 27 juin 2010 à 17:24
bonjour je souhait votre aide

j'ai deux classe A contient zone de text JTextField et bouton JButton

et Classe B contien bouton JButton()


la classe A contien

JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(108, 57, 154, 20));
}
return jTextField;
}







private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(27, 13, 84, 35));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
/////////////////////////////////////////////////////////
B b=new B();
b.show();

}
});
}
return jButton;
}





Classe B contien



private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(55, 37, 128, 60));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//////////////////////////////////////////////////////

A a=new A();
a.getJTextField().getText();
System.out.println("actionPerformed()"+a.getJTextField().getText()+"fffffff"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton;
}



le problème si je exécute classe A et écrire dans zone de text et je veux afficher le contenu de zone de text lorsque je clique sur bouton de classe b

mais il affiche rien

8 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 juin 2010 à 06:59
il suffet de mettre la classe A en paramètre de la classe b :

private ClasseA c;

public ClasseB(ClasseA c){
this.c=c;
]
puis dans l'action listener du bouton tu écris tout ce que tu veux faire avec la classe c et tu termines par c.repaint(); (peut être inutile selon ce que tu fais)
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 juin 2010 à 16:55
Tu ne changes rien du tout à la classe A

dans la classe B su tais ca :


import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Rectangle;

public class B extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JButton jButton = null;
    private A a;
    
    /**
    * This is the default constructor
    */
    public B(A classeA) {
        super();
        a=classeA;
        initialize();
    }

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(55, 37, 128, 60));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
A a=new A();
a.getJTextField().getText();
System.out.println("actionPerformed()"+a.getJTextField().getText()+"fffffff"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
B thisClass = new B();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}

} 

3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 juin 2010 à 16:55
Et ensuite, tu peux utiliser la classe a dans la classe b en faisant des appels a.quelqueChose();
3
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
25 juin 2010 à 11:59
bonjour merci de votre aide j'ai pas bien compris votre solution
le code de classe A et B quel modification il faut faire
merci


import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JButton;

public class A extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTextField jTextField = null;
private JButton jButton = null;

JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(108, 57, 154, 20));
}
return jTextField;
}

/*
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(27, 13, 84, 35));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {

B b=new B();
b.show();

}
});
}
return jButton;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
A thisClass = new A();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This is the default constructor
*/
public A() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}

}

















import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Rectangle;

public class B extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton jButton = null;

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(55, 37, 128, 60));
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
A a=new A();
a.getJTextField().getText();
System.out.println("actionPerformed()"+a.getJTextField().getText()+"fffffff"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
B thisClass = new B();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This is the default constructor
*/
public B() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
25 juin 2010 à 18:18
bonjour
je suis très désoler de dérangement

une petite question pour la classe a

B b=new B();
b.show();
il faut ajouter une agrument
j'ai essayer avec ca
B b=new B(A.getJTextField().getText());

erreur


merci mon chef
0
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
25 juin 2010 à 18:22
merci Julien39

le problème est resoler

merci mon cheffff
merci encours
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 juin 2010 à 18:37
B b=new B(this); si tu es dans la classe A, sinon B b=new B(classeA);

Mais je pense que tu as compris.

Bon courage
0
eddaoudy123 Messages postés 2 Date d'inscription dimanche 27 juin 2010 Statut Membre Dernière intervention 27 juillet 2010
27 juin 2010 à 17:24
bonjour c'est fatima.
j'ai une probleme de tracer les composant sur la forme car moi j'ecris pas le code mais je travaille avec l'assistance ,le probleme c'est que :lorceque j'ai positioner par exemple une button il ne prend pas la position que je souhaite mais il prend une position aleatiore....
0
Rejoignez-nous