Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ?
Bonjour a tous je vous demande de l'aide car j'ai un probleme avec mon programme. Sela fait 3h que je me casse la tete dessus et je n'arrive pas a trouver la solution.
Je suis tous neuf dans le java. Soyer gentil et ne vous moquer pas de moii si sela vient d'un probleme tous bete.
Je vous explique le probleme en detail :
J'ai 2 classes une qui gere la partis graphique de mon programme elle s'appelle graphique.
et une deuxieme classe qui s'appelle traitementSocket cette classe va gerer tous se qui est connection envoie de message etc...
Et mon souci ses que jai une exeption qui se leve a la fermeture de mon application.
Voila le code source SIMPLIFIER :
graphique :
Code:
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
|
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class graphique {
//creation de tous les composant nessesaire
JFrame cadre = new JFrame("Test") ;
JPanel panneauPrincipal = new JPanel() ;
GridLayout dispositionPanneauPrincipal = new GridLayout(10,1) ;
JLabel textePort = new JLabel("Entrez le port d'envoie") ;
JTextField port = new JTextField("6666") ;
JLabel texteIp = new JLabel("Entrez l'adresse ip du contact") ;
JTextField ip = new JTextField("127.0.0.1") ;
JButton boutton = new JButton("Cliquer pour se connecter :") ;
JLabel texteHistorique = new JLabel("Historique de conversation :" ) ;
JTextArea texteRecu = new JTextArea() ;
JButton bouttonMessage = new JButton("Clique ici pour envoyer votre message") ;
JLabel texteEnvoie = new JLabel("Veuillez entrez ci-dessous le texte a envoyé a votre serveur.") ;
JTextArea texteAEnvoyer = new JTextArea() ;
//ajout des composant dans la fenetre
graphique(){
panneauPrincipal.setLayout(dispositionPanneauPrincipal) ;
panneauPrincipal.add(textePort) ;
panneauPrincipal.add(port) ;
panneauPrincipal.add(texteIp) ;
panneauPrincipal.add(ip) ;
panneauPrincipal.add(boutton) ;
panneauPrincipal.add(texteHistorique) ;
panneauPrincipal.add(texteRecu) ;
panneauPrincipal.add(texteEnvoie) ;
panneauPrincipal.add(texteAEnvoyer) ;
panneauPrincipal.add(bouttonMessage) ;
texteAEnvoyer.setEnabled(false) ;
texteRecu.setEnabled(false) ;
traitementSocket sockets = new traitementSocket(this) ;
boutton.addActionListener(sockets) ;
cadre.setContentPane(panneauPrincipal) ;
cadre.setSize(400,600) ;
cadre.setVisible(true) ;
cadre.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
traitementSocket socket = new traitementSocket() ;
socket.fermeture() ;
System.exit(0) ;
}
}) ;
}
public static void main(String[] args) {
new graphique() ;
}
} |
//Voila maintenat la classe traitementSocket
Code:
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
|
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.*;
public class traitementSocket implements ActionListener {
graphique parent ;
Socket monSocket = null;
traitementSocket(graphique adresseMemoire){
parent = adresseMemoire ;
}
public traitementSocket() {
}
public void actionPerformed(ActionEvent e) {
parent.texteRecu.setText("Tentative de connection a localhost :") ;
try{
monSocket = new Socket(parent.ip.getText(), Integer.valueOf(parent.port.getText())) ;
parent.texteRecu.setText(parent.texteRecu.getText()+"\n Connection reussit !") ;
parent.boutton.setText("Cliquez ici pour se deconnecter :") ;
parent.texteAEnvoyer.setEnabled(true) ;
}catch (Exception erreur) {
parent.texteRecu.setText(parent.texteAEnvoyer.getText()+"\nErreur lors de la creation du socket...\n" + erreur.getMessage()) ;
}
}
et voila le soucie se situe ici je pense
public void fermeture(){
try{
monSocket.close() ;
}catch (Exception e) {
parent.texteRecu.setText(parent.texteRecu.getText() +
"\n erreur lors de la fermeture du socket") ;
parent.ip.setText("lol") ;
}
}
} |
Voila maintenant les messages console pour seux qui arrivent a les comprendre
Citation:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at traitementSocket.fermeture(traitementSocket.java:40)
at graphique$1.windowClosing(graphique.java:53)
at java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
at java.awt.Window.processWindowEvent(Unknown Source)
at javax.swing.JFrame.processWindowEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Merci d'avance pour vos précieuse reponse toutes reponse est bonne a prendre.
Ps : Je rappelle que je suis le noob des noob en java donc ses normal que je fasse des erreur betes TOUS LE MONDE EST PASSER PAR LA