PDA

View Full Version : Perchè non parte?!?...abbastabza urgente..


Sara79
13-03-2004, 08:59
ciao raga....forse starò andando giù di testa ma proprio non riesco a capire :muro:: nonostante abbia tutte le librerie del caso non riescoa vedere una cippa di questo programma di cui vi posto il codice.
Se qualcuno sa come mai me lo spiega??? O magari ditemi se lo compilate in maniera normale! Tnx.


import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.applet.*;
import java.awt.*;

public class JAMail extends Applet {
private TextArea msgArea;
private TextField subjField, toField, fromField;
private Button send;

public JAMail() {
setBackground(new Color(255,255,255));

GridBagLayout layout=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
gbc.fill=GridBagConstraints.BOTH;
setLayout(layout);

msgArea=new TextArea();
setConstraints(gbc,0,0,2,1,0,60);
layout.setConstraints(msgArea, gbc);
add(msgArea);


gbc.fill=GridBagConstraints.HORIZONTAL;

Label subjLabel=new Label("Oggetto");
setConstraints(gbc, 0, 1, 1, 1, 25, 0);
layout.setConstraints(subjLabel,gbc);
add(subjLabel);

subjField=new TextField();
setConstraints(gbc,1,1,1,1,75,10);
layout.setConstraints(subjField, gbc);
add(subjField);

Label toLabel=new Label("Destinatario");
setConstraints(gbc, 0, 2, 1, 1, 0, 10);
layout.setConstraints(toLabel, gbc);
add(toLabel);

toField=new TextField();
setConstraints(gbc,1,2,1,1,0,0);
layout.setConstraints(toField,gbc);
add(toField);

Label fromLabel=new Label("Mittente");
setConstraints(gbc, 0, 3, 1, 1, 0,10);
layout.setConstraints(fromLabel, gbc);
add(fromLabel);

fromField=new TextField();
setConstraints(gbc, 1,3, 1,1,0,0);
layout.setConstraints(fromField, gbc);
add(fromField);

send=new Button("Invia");
setConstraints(gbc,0,4,2,1,0,20);
gbc.fill=GridBagConstraints.NONE;
layout.setConstraints(send,gbc);
add(send);
}

public boolean action(Event e, Object arg) {
if(e.target instanceof Button) {
sendMessage();
return true;
}
return false;
}

public void sendMessage() {
Properties p=new Properties();
p.put("mail.smtp.host",/*server di posta*/);
Session session=Session.getInstance(p,null);
try {
Message imsg=new MimeMessage(session);
imsg.setFrom(new InternetAddress(fromField.getText()));
InternetAddress[] address={new InternetAddress(toField.getText())};
imsg.setRecipients(Message.RecipientType.TO, address);
imsg.setSubject(subjField.getText());
imsg.setText(msgArea.getText());
imsg.setSentDate(new Date());
Transport.send(imsg);
} catch(Exception e) {
System.out.println(e);
}
}

public void setConstraints(GridBagConstraints g, int x, int y, int gw, int gh, int wx, int wy) {
g.gridx=x;
g.gridy=y;
g.gridwidth=gw;
g.gridheight=gh;
g.weightx=wx;
g.weighty=wy;
}
}

kingv
13-03-2004, 10:14
e' un'applet e non ha i metodi init(), start(), ecc.ecc. come pretendi che parta?

Sara79
13-03-2004, 10:28
nn hai mica tti i torti....cakio mi sta andando in pappa il cervello...

PGI
13-03-2004, 11:33
A me funziona (stesso idendico codice, non ho cambiato una riga, salvo il commento sul server di posta in uscita)


<html>
<body>
<applet code="JAMail.class" width="300" height="300" archive="activation.jar,mail.jar"></applet>
</body>
</html>


Un'applet dovrebbe funzionare anche senza i metodi init() start() e destroy().

Se il codice html che hai usato è + o - simile a quello che ho messo, chiaramente il problema sta da un altra parte.

Sara79
13-03-2004, 14:12
io ho provato anche con il codice html .... ma proprio nn funziona....mi da sempre la solita eccezione:


java.lang.NoClassDefFoundError: javax/mail/Message
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1576)
at java.lang.Class.getConstructor0(Class.java:1748)
at java.lang.Class.newInstance0(Class.java:266)
at java.lang.Class.newInstance(Class.java:249)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:548)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:477)
at sun.applet.AppletPanel.run(AppletPanel.java:290)
at java.lang.Thread.run(Thread.java:536)

kingv
13-03-2004, 14:29
metti il package java mail nella lib/ext del plugin