Newsgroup: it.comp.java
Titolo: perchè l'applet funziona su win2000 e su xp pro no ? (codice incluso)

Dunque la cosa strana che mi capita e che mi turba è che la stessa applet
provata su più Win2000 (e 98) funziona correttamente con una JVM da 1.3 a
1.4 mentre su WinXP pro non ne vuole sapere. O meglio funziona si visualizza
ma quando deve inviare al browser la stringa dell'url si pianta lì provare
per credere dato che ho incluso tutto il codice che serve per funzionare la
prima applicazione dovrà risiedere in un web server (io ho usato IIS di
WinXp pro e quello del 2000) e incluso in una pagina asp o htm queste due
righe (scusate se sono così precisino)
<APPLET style="LEFT: 0px; WIDTH: 88px; TOP: 0px; HEIGHT: 30px" height=30
width=88 code=ShowDocument.class></APPLET>
in particolare sui sistemi xp è installato un Norton Internet Security da
una parte e un Norton Antivirus dall'altra (ma non credo sia qui il
problema)
Aiuto grassssie...
/*
 * 1.1 version.
 */
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import java.net.MalformedURLException;
public class ShowDocument extends Applet
                          implements ActionListener {
    URLWindow urlWindow;
    public void init() {
        Button button = new Button("Java Login");
        button.addActionListener(this);
        add(button);
        urlWindow = new URLWindow(getAppletContext());
        urlWindow.pack();
    }
    public void destroy() {
        urlWindow.setVisible(false);
        urlWindow = null;
    }
    public void actionPerformed(ActionEvent event) {
        urlWindow.setVisible(true);
    }
}
class URLWindow extends Frame implements ActionListener
{
    TextField urlField;
    TextField urlPass;
    Choice choice;
    AppletContext appletContext;
    public URLWindow(AppletContext appletContext)
    {
        super("Mostra Login");
        this.appletContext = appletContext;
        GridBagLayout gridBag = new GridBagLayout();
        GridBagConstraints c = new GridBagConstraints();
        setLayout(gridBag);
        Label label1 = new Label("Nome utente:",
     Label.RIGHT);
        gridBag.setConstraints(label1, c);
        add(label1);
        urlField = new TextField("user", 20);
        urlField.addActionListener(this);
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1.0;
        gridBag.setConstraints(urlField, c);
        add(urlField);
     Label label2 = new Label("Password:",Label.RIGHT);
        c.gridwidth = 1;
        c.weightx = 0.0;
        gridBag.setConstraints(label2, c);
        add(label2);
    urlPass = new TextField("niente",20);
        urlPass.addActionListener(this);
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1.0;
        gridBag.setConstraints(urlPass, c);
        add(urlPass);
     Label label3 = new Label("Tipo utente:",Label.RIGHT);
        c.gridwidth = 1;
        c.weightx = 0.0;
        gridBag.setConstraints(label3, c);
        add(label3);
        choice = new Choice();
        choice.addItem("cliente");
        choice.addItem("amministratore");
        c.fill = GridBagConstraints.NONE;
        c.gridwidth = GridBagConstraints.REMAINDER;
        c.anchor = GridBagConstraints.WEST;
        gridBag.setConstraints(choice, c);
        add(choice);
        Button button = new Button("Esegui");
        button.addActionListener(this);
        c.weighty = 1.0;
        c.ipadx = 10;
        c.ipady = 10;
        c.insets = new Insets(5,0,0,0);
        c.anchor = GridBagConstraints.SOUTH;
        gridBag.setConstraints(button, c);
        add(button);
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent event) {
                setVisible(false);
            }
        });
    }
    public void actionPerformed(ActionEvent event)
    {
        //la urlString può essere qualsiasi altra pagina asp che faccia
quello che vuole del querystring passato
        String urlString = "
Http://localhost/accesso.asp?user=
" +
urlField.getText() + "&pass=" + urlPass.getText() + "&tipo=" +
choice.getSelectedItem();
        try
        {
            url = new URL(urlString);
        }
        catch (MalformedURLException e)
        {
            System.err.println("Errore manca qualcosa: " + urlString);
        }
        if (url != null)
        {
            //if (choice.getSelectedIndex() == 0) {
                appletContext.showDocument(url,"_top");
            //} else {
              //  appletContext.showDocument(url,
      //choice.getSelectedItem());
        }
    }
}
//Questa classina invece è usata lato server in pagina asp in Jscript che
con la funzione GetObject riceve la query string e ne fà pochissimo ma è
solo un esempio di un possibile utilizzo in asp delle classi java
(didattico)
//--------------------------------------------------------------------------
-----------------------------
public class ricevilogin
{
 private String user;
 private String pass;
 public ricevilogin()
 {
 }
 public void setLogin(String us, String pa)
 {
  user=us;
  pass=pa;
 }
 public String getUser()
 {
  return user;
 }
 public String getPass()
 {
  return pass;
 }
 public static void main(String[] args)
 {
  /*implementazione e vis interfaccia utente*/
 }
}

Sarà sicuramente un problema di JVM se ti funziona su più windows 2000 e
su xp no!l' applet se funzionano già su un altro win2000 vuol dire che
e' OK e quindi deve funzionare sicuramente su qualsiasi OS!prova a
scaricare altre versioni di JVM!CIAO!

 ha scritto nel messaggio
news:pan.2004.05.12....@alamobility.it...


 ha scritto nel messaggio
news:9XGoc.5598$%x6....@news.edisontel.com...
