Java.lang.InstantiationException

cs_FrenchCancan Messages postés 11 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 16 juin 2004 - 13 avril 2004 à 18:49
baltha83 Messages postés 5 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 17 avril 2012 - 12 avril 2012 à 10:44
L'applet que j'ai faite génère cette erreur alors que je n'avais aucune erreur à la compilation :/
Comment savoir d'où elle provient et comment résoudre ce problème ?

merci à ceux qui me répondront ;)

2 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
14 avril 2004 à 11:26
Salut,

d'après la javadoc, tu essaies d'instancier une interface ou une classe abstraite. Montre nous ton code et où se produit l'erreur (message de l'exception) pour qu'on puisse t'aider
0
baltha83 Messages postés 5 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 17 avril 2012
12 avril 2012 à 10:44
Bonjour, j'ai cette erreur moi aussi alors pour j'ai préférer relancer ce topic avec mon code , peut être que sa aidera quelqu’un
et moi par la même occasion ! =D
Je compile le code ci dessous avec eclipse , compilation applet, ce n'est donc pas une compilation normale.
j'ai de nombreuses questions tout d'abords est ce possible d'inclure un programme JAVA dans une applet JAVA, dans mon cas j'ai développé une application qui va écouter les ports séries de mon applications et se connecter via des paramètres marqués en dure mais voila !
Moi ce que je souhaite c'est récupérer ces fameux paramètres via une interface web, j'ai réussi à récupérer les paramètres de PHP , les passer au javascript (sa ! sa va encore ^^) , du javascript à l'applet mais apres de l'applet à l'application , j'ai beaucoups d'erreurs,
Voici mes erreurs,

Citation:
java.lang.InstantiationException: testcom1
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Charger : impossible d'instantier testcom1.class.

Pour que le projet marque j'ai du bien entendu inclure le .jar de javax.comm.


DOnc bon c'est peut etre un peu moche mais j'ai tout de même essayé de centraliser en même fichier l'application et l'applet d'ou la source de problème mais je ne vois pas comment faire autrement , j'ai déja essayer l'applet d'un côté et l'appli de l'autre ou même les deux classes séparés dans le même fichier ...

voici le code global , désolé par avance pour la mise en forme


import javax.comm.*;
import javax.swing.JApplet;
import javax.swing.JLabel;

import com.sun.comm.Win32Driver;

import java.awt.Color;
import java.awt.Graphics;
import java.io.*;
import java.util.*;


public class testcom1 extends JApplet implements SerialPortEventListener{
CommPortIdentifier portId;

BufferedReader in;
PrintWriter out;
SerialPort serialPort;
int taille=50;
char [] buffer = new char[taille];
int offset=0;
int old_offset=0;
char concatenation;
String affichage;
private JLabel label = new JLabel();
String message="Bonjour les paramétres de configuration que vous avez choisis sont:";

private String nbbitstop;
private String vitesse=String.valueOf(1200) ;
private String nbbit;
private String parite;

public testcom1 (String com)
{
System.out.println("liste des ports série disponibles:" );
}//fin constructeur

public void init(){
System.out.println("liste des ports série disponibles:" );
String com="COM1";
SerialPortEvent event = null;
Win32Driver w32Driver = new Win32Driver();
w32Driver.initialize();

System.out.println("liste des ports série disponibles:" );
listePortsDispo();

for(int i=0;i<taille;i++)
{
buffer[i]= ' ';
}

try
{

portId=CommPortIdentifier.getPortIdentifier(com);
if(serialPort==null)
{ serialPort=(SerialPort)portId.open("Envoi",2000);}
else
{
serialPort.close();
serialPort=(SerialPort)portId.open("Envoi",2000);
}

int vitesseB=Integer.parseInt(getV());
int nbbitBis=Integer.parseInt(getNb());
int nbbitstopB=Integer.parseInt(getNbS());
int parite=Integer.parseInt(getP());

serialPort.setSerialPortParams(vitesseB,nbbitBis,nbbitstopB,parite);

System.out.println("Ouverture du port "+com);
in=new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
serialPort.addEventListener(this);
serialPort.notifyOnDataAvailable(true);

while(true)
{
if (old_offset != offset)
{
for(int i=0;i<taille;i++)
{
if(buffer[i]!=' ')
concatenation=buffer[i];
// if(i==taille-1)
System.out.print(buffer[i]);
affichage=" " + concatenation;
}
old_offset = offset;
System.out.println(' ');
}

}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("liste des ports série disponibles:" );
}

vitesse=getParameter("vitesse");
nbbit=getParameter("nbbit");
nbbitstop=getParameter("nbbitstop");
parite=getParameter("parite");

System.out.println( message);

label.setHorizontalAlignment(JLabel.CENTER);

label.setForeground(Color.blue);

};

public void listePortsDispo()
{
System.out.println("liste des ports série disponibles:" );
System.err.println("recherche..." );

@SuppressWarnings("rawtypes")
Enumeration portList=CommPortIdentifier.getPortIdentifiers();

if (portList==null)
{
System.err.println("Aucun port de communication détecté" );
return;
}
while (portList.hasMoreElements())
{
portId=(CommPortIdentifier)portList.nextElement();
System.out.println("* "+portId.getName());
}
}

public void paint(Graphics g)
{
System.out.println("liste des ports série disponibles:" );
g.drawString(message, 20, 20);
/*if(test!=null)
g.drawString(test, 20, 30);
else
g.drawString("la chaine de test est vide", 20, 30); */

if(vitesse!=null)
g.drawString(vitesse, 20, 30);
else
g.drawString("la chaine de vitesse est vide", 20, 30);

if(nbbit!=null)
g.drawString(nbbit, 20, 40);
else
g.drawString("la chaine de nbbit est vide", 20, 40);

if(nbbitstop!=null)
g.drawString(nbbitstop, 20, 50);
else
g.drawString("la chaine de nbbitstop est vide", 20, 50);

if(parite!=null)
g.drawString(parite, 20, 60);
else
g.drawString("la chaine de parite est vide", 20, 60);

g.drawString(affichage, 20, 90);
}
public String getV()
{
return vitesse;
}

public String getNb()
{
return nbbit;
}

public String getNbS()
{
return nbbitstop;
}

public String getP()
{
return parite;
}
public void serialEvent(SerialPortEvent event) {
System.out.println("liste des ports série disponibles:" );
try {
switch (event.getEventType())
{
case SerialPortEvent.BI :
case SerialPortEvent.OE :
case SerialPortEvent.FE :
case SerialPortEvent.PE :
case SerialPortEvent.CD :
case SerialPortEvent.CTS :
case SerialPortEvent.DSR :
case SerialPortEvent.RI :
case SerialPortEvent.OUTPUT_BUFFER_EMPTY :
break;

case SerialPortEvent.DATA_AVAILABLE :
//String codeBarre = new String();


int longueur=1;
//lecture du buffer et affichage
//codeBarre = (String) in.read();
in.read(buffer,offset,longueur);
offset ++;
if (offset == taille)
{
offset=taille-1;
}


break;
}


}

catch (IOException e)

{ System.out.println("liste des ports série disponibles:" );
try {
in.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("liste des ports série disponibles:" );
}

}}

Voila merci beaucoup si il y a quelqu'un qui peut m'aider! =D
0
Rejoignez-nous