Partage
  • Partager sur Facebook
  • Partager sur Twitter

{{Titre incorrect}} à l'Aiiiiiiiiiiiiiide

Perfavore

26 janvier 2012 à 10:49:10

je suis debutant en java et j'aimerai faire un calculatrice qui calcule juste la somme des deux entier avec interface graphique je me suis arreter là car les listeners n'ont pas marché comme il faut j'aimerai qu'on m'explique m'a faute ..!!!! et corriger ce code merçi bcoup



import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Cal extends JFrame implements ActionListener {
private JTextField field1;
private JTextField field2;
private JLabel label;

public Cal(){
super();

build();//On initialise notre fenêtre
}

private void build(){
setTitle("Calculatrice"); //On donne un titre à l'application
setSize(400,200); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(false); //On interdit la redimensionnement de la fenêtre
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());
}

private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.setBackground(Color.lightGray);
field1 = new JTextField();
field1.setColumns(10);
panel.add(field1);
field2 = new JTextField();
field2.setColumns(10);
panel.add(field2);
JButton bouton = new JButton( "La Somme est ");
bouton.addActionListener(this);
panel.add(bouton);
JLabel label = new JLabel("Résultat : Pas encore calculé");
panel.add(label);
return panel;
}

public JTextField getField1(){
return field1;
}

public JTextField getField2(){
return field2;
}

public JLabel getLabel(){
return label;
}

public void actionPerformed(ActionEvent arg0) {

String nb1=this.field1.getText();
double nb11=Double.parseDouble(nb1);
String nb2=this.field1.getText();
double nb22=Double.parseDouble(nb2);

double r=nb11+nb22;

label.setText("Le Résultat est : " +r );
}

}
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 10:59:51

Dejà, tu as mis le setVisible(true) sur ton instance Cal?
JLabel label est jamais instancié et tu fait un setText dessus donc normal que cela plante. A mon avis tu voulais instancier le JLabel de la classe et tu a redéclaré un JLabel dans buildContentPane(). Retire JLabel devant label dans cette méthode.
Sinon en corrigeant ça fonctionne.
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 11:03:44

Citation : ninlock

Dejà, tu as mis le setVisible(true) sur ton instance Cal?
JLabel label est jamais instancié et tu fait un setText dessus donc normal que cela plante. A mon avis tu voulais instancier le JLabel de la classe et tu a redéclaré un JLabel dans buildContentPane(). Retire JLabel devant label dans cette méthode.



et comment je fait pour regler ce problème et merçi !!!!!!!!
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 11:12:26

Bah je viens de te donner la solution complète a ton problème, qu'est ce qui n'est pas clair?
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 11:23:28

Le message qui suit est une réponse automatique.
Les réponses automatiques nous permettent d'éviter de répéter de nombreuses fois la même chose, et donc de gagner beaucoup de temps.
Nous sommes néanmoins ouverts à toute question ou remarque, n'hésite pas à me contacter par messagerie privée à ce sujet.


Titre du sujet à modifier


Bonjour,

Ce topic a un titre qui ne décrit pas précisément le sujet, ou il est écrit en majuscules. Les titres peu clairs rendent le forum plus difficile à lire et moins agréable pour tous.
Étant donné que ton message est par ailleurs bien présenté, je t'invite à modifier le titre du sujet pour le clarifier.

Le titre idéal devrait résumer ton problème ou ta question en une petite phrase. Voici quelques liens pour t'aider à choisir au mieux ton titre :


Comment fait-on pour éditer un titre ?

Si tu es l'auteur du topic, tu peux uniquement le changer en éditant le premier post du topic à l'aide de l'icône Image utilisateur.

Attention : merci de modifier ton titre dans les plus brefs délais, sans quoi le sujet sera fermé.

Merci de ta compréhension :)
Les modérateurs.
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 11:23:33

Le message qui suit est une réponse automatique.
Les réponses automatiques nous permettent d'éviter de répéter de nombreuses fois la même chose, et donc de gagner beaucoup de temps.
Nous sommes néanmoins ouvert à toute question ou remarque, n'hésite pas à me contacter par messagerie privée à ce sujet.


Merci d'utiliser les balises de code


Bonjour,

Les forums du Site du Zéro disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source.
Tu as posté un code source sans utiliser cette fonctionnalité. Pourrais-tu éditer ton message afin d'ajouter ces balises ? Pour cela, sélectionne ton code à colorer et utilise le bouton Image utilisateur afin de choisir la coloration adaptée. Veille à bien choisir le langage de programmation afin que la coloration soit pertinente.

De plus, veille à ce que ton code soit correctement indenté.

Afin de ne pas surcharger le sujet, ne poste pas ton code coloré dans un nouveau message mais édite le premier (grâce au bouton Image utilisateur).

Cela aura pour effet de "colorer" ton code et donc d'en faciliter grandement la lecture. Tu auras ainsi beaucoup plus de chances d'avoir des réponses.

Voici un exemple de code non coloré (mauvais exemple) :
int main(int argc, char *argv[])
{
long choixOperation;

printf("Choisissez l'operation a effectuer");
/* etc. */
}

Voici maintenant le même code coloré, utilisant la balise "code" (bon exemple) :
int main(int argc, char *argv[])
{
    long choixOperation;

    printf("Choisissez l'operation a effectuer");
    /* etc. */
}


C'est plus clair n'est-ce pas ? ;)

Pour plus d'information à ce sujet, tu peux lire le tutoriel général sur le zCode.

Merci de ta compréhension. :)
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2012 à 11:23:44

Le message qui suit est une réponse automatique.
Les réponses automatiques nous permettent d'éviter de répéter de nombreuses fois la même chose, et donc de gagner beaucoup de temps.
Nous sommes néanmoins ouverts à toute question ou remarque, n'hésite pas à me contacter par messagerie privée à ce sujet.



Manque de politesse


Bonjour,

Ton message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir » etc.).
Les règles du site exigent que chaque nouveau message comporte un minimum de politesse.
Après tout, les gens qui te répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ? :)

Je ferme donc ce sujet et t'invite à en poster un nouveau en prenant cette règle en compte.

Merci de ta compréhension. :)
Les modérateurs.
  • Partager sur Facebook
  • Partager sur Twitter