Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    AIUTO :( DA Java a Java Applet

    Sono disperato... ho un programma funzionante (un client per un software che ho fatto io) che funziona perfettamente.

    E' grafico, usa le awt.

    Il problema e' che ora devo trasformarlo in un applet e non va NIENTE... mi va continuamente in security exception anche se non fa niente (sto tentando solo di visualizzare la vecchia grafica).

    C'e' un modo di trasformare il mio programma java in un java applet senza cambiare troppo il codice?
    -_-"

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655
    Posta il codice

  3. #3
    Questa ad esempio era la vecchia funzione Visualizza() che faceva comparire il Client grafico awt.
    Come paint() non funziona. Come la devo tradurre in applet?

    codice:
    void Visualizza(){
    
    //      INIZIALIZZAZIONE AREE DI TESTO
    //      AREA INVIO
            Chat=new JTextArea(10,1);
            Chat.addKeyListener(new ActionSend());
            P_chat=new
            JScrollPane(Chat,JScrollPane.VERTICAL_SCROLLBAR_NEVER,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    //      AREA RISPOSTA
            Risposta=new JTextArea(10,30);
            Risposta.setEditable(false);
            P_risposta=new
            JScrollPane(Risposta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    //      AREA LOGGING
            Log=new JTextArea(10,30);
            Log.setEditable(false);
            P_log=new
            JScrollPane(Log,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    
    //      INIZIALIZZAZIONE BOTTONI DI CONNESSIONE
    //      GRUPPO DNS
            Server=new JRadioButton(ServerIP);
            Loop=new JRadioButton("Loopback");
            Dns=new ButtonGroup();
            Dns.add(Server);
            Dns.add(Loop);
            Server.doClick();
    //      BOTTONE CONNETTI-DISCONNETTI
            conDisconnetti=new JButton("Connetti");
            conDisconnetti.setEnabled(true);
            conDisconnetti.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso){
                        Disconnettiti();
                    }
                    else{
                        Connettiti();
                        if (connesso){
                            if(debug)System.out.println("Connesso: "+connesso);
                            conDisconnetti.setText("Disconnetti");
    
                            //Visualizzo la connessione
                            Logga("\t\t[Connessione riuscita]");
                            Logga("Server:"+sock.getInetAddress().getHostName());
                            Logga("Indirizzo:"+sock.getInetAddress().getHostAddress());
                            Logga("Porta remota:"+sock.getPort());
                            Logga("Porta locale:"+sock.getLocalPort());
    
    //                      LOGIN OBBLIGATORIO
    //                      F.setVisible(false);
                            Visualizza_Finestra_Login();
                        }
                        else{
                            Logga("Connessione fallita a: "+server_addr.getHostName()+" ip: "+server_addr.getHostAddress());
                            if(debug)Logga("Connesso: "+connesso);
                        }
                    }
                }
            });
    //      BOTTONE SERVER-KILL
            ServerKill=new JButton("Chiudi Server");
            ServerKill.setEnabled(false);
            ServerKill.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso&&loggato){
                          Out.println("/muori");
                          Out.flush();
                          Logga("Hai deciso di chiudere il server...\nNon potrai piu' rientrare con questa interfaccia.");
                          Risposta.setText("Hai deciso di chiudere il server...\nNon potrai piu' rientrare con questa interfaccia.");
                          Disconnettiti();
                    }
                    else{
                          if(debug)Logga("Errore. Devi essere connesso e loggato.");
                    }
                }
            });
    
    //      INIZIALIZZAZIONE DEI BOTTONI DI COMUNICAZIONE
    //      HELP
            Help=new JButton("Aiuto");
            Help.setEnabled(false);
            Help.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso&&loggato){
                        Visualizza_Finestra_Help();
                    }
                    else{
                          if(debug)Logga("Errore. Devi essere connesso e loggato.");
                    }
                }
            });
    //      MISURA ON/OFF
            Misura_ON_OFF=new JButton("Misura ON/OFF");
            Misura_ON_OFF.setEnabled(false);
            Misura_ON_OFF.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso&&loggato){
                          Out.println("/misuraON-OFF");
                          Out.flush();
                    }
                    else{
                          if(debug)Logga("Errore. Devi essere connesso e loggato.");
                    }
                }
            });
    //      MISURA
            Misura=new JButton("Misura");
            Misura.setEnabled(false);
            Misura.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso&&loggato){
                        Out.println("/misura");
                        Out.flush();
                    }
                    else{
                          if(debug)Logga("Errore. Devi essere connesso e loggato.");
                    }
                }
            });
    //      CAMBIO DI DELAY
            Cambia_Delay=new JButton("Delay");
            Cambia_Delay.setEnabled(false);
            Cambia_Delay.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso&&loggato){
                        Visualizza_Finestra_Delay();
                    }
                    else{
                          if(debug)Logga("Errore. Devi essere connesso e loggato.");
                    }
                }
            });
    
    //      INIZIALIZZO E IMPOSTO I PANNELLI
    //      PANNELLO DEI BOTTONI DI CONNESSIONE
            P_connessione=new JPanel(new GridLayout(0,4));
            P_connessione.add(conDisconnetti);
            P_connessione.add(Server);
            P_connessione.add(Loop);
            P_connessione.add(ServerKill);
    //      PANNELLO DEI BOTTONI DI COMUNICAZIONE
            P_comunicazione=new JPanel(new GridLayout(0,4));
            P_comunicazione.add(Help);
            P_comunicazione.add(Misura_ON_OFF);
            P_comunicazione.add(Misura);
            P_comunicazione.add(Cambia_Delay);
    
    //      PANNELLO CHE RIUINISCE TUTTI I BOTTONI VARI
            P_bottoni=new JPanel(new GridLayout(2,0));
            P_bottoni.add(P_connessione);
            P_bottoni.add(P_comunicazione);
    
    //      FINALIZZO LA STRUTTURA DEL CLIENT (ActionListener e Swing)
            F=new JFrame("Client");
            F.getContentPane().setLayout(new GridLayout(4,0));
            F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //      MONTO LA STRUTTURA E LA VISUALIZZO
            F.getContentPane().add(P_chat);
            F.getContentPane().add(P_risposta);
            F.getContentPane().add(P_bottoni);
            F.getContentPane().add(P_log);
    //      IMPACCHETTO TUTTO E MOSTRO
            F.pack();
            F.setVisible(true);
        }
    
        void Visualizza_Finestra_Delay(){
    //      CREAZIONE (fatta a parte) DELLA FINESTRA DEL DELAY
    //      TESTO DELAY
            Testo_Delay=new JTextArea(1,10);
            Testo_Delay.setEditable(false);
            Testo_Delay.setText("Inserisci qui sotto il numero di secondi che desideri trascorra tra una misurazione e l'altra.");
            Border blackline = BorderFactory.createLineBorder(Color.red);
            Testo_Delay.setBorder(blackline);
    //      SPAZIO DELAY
            Spazio_Delay=new JTextArea(2,20);
            Border loweredbevel = BorderFactory.createLoweredBevelBorder();
            Spazio_Delay.setBorder(loweredbevel);
            Spazio_Delay.setEditable(true);
    //      TASTO INVIA DELAY
            Invia_Delay=new JButton("Invia_Delay");
            Invia_Delay.setEnabled(true);
            Invia_Delay.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso&&loggato){
                        int nuovoDelay=1800;
                        try {
                            nuovoDelay=Integer.valueOf(Spazio_Delay.getText()).intValue();
                            if (nuovoDelay!=0) {
                                Out.println("/delay "+nuovoDelay);
                                Out.flush();
                                Finestra_Delay.setVisible(false);
                            }
                            else Spazio_Delay.setText("Non puoi inserire 0...\nVuoi bruciare la CPU del Server?");
                        }
    		    catch(Exception e){Spazio_Delay.setText("Devi inserire un intero!");}
                    }
                    else{
                        if(debug)Logga("Errore. Devi essere connesso e loggato.");
                    }
                }
                });
            Contenitore_Delay=new JPanel(new GridLayout(0,2));
            Contenitore_Delay.add(Spazio_Delay);
            Contenitore_Delay.add(Invia_Delay);
    
    //      MONTO LA STRUTTURA E LA VISUALIZZO
            Finestra_Delay=new JFrame("Finestra_Delay");
            Finestra_Delay.getContentPane().setLayout(new GridLayout(2,0));
            Finestra_Delay.setDefaultCloseOperation(Finestra_Delay.HIDE_ON_CLOSE);
            Finestra_Delay.getContentPane().add(Testo_Delay);
            Finestra_Delay.getContentPane().add(Contenitore_Delay);
            Finestra_Delay.pack();
            Finestra_Delay.setVisible(true);
        }
    
        void Visualizza_Finestra_Help(){
    //      CREAZIONE (fatta a parte) DELLA FINESTRA DELL'HELP
    //      TESTO HELP
            Testo_Help=new JTextArea(5,10);
            Testo_Help.setEditable(false);
            Testo_Help.setText("Hai chiesto aiuto.\nPer inviare frasi o comandi al server, scrivile nel riquadro in alto e premi invio.\nIn particolare puoi scrivere:\n/quit per uscire.\n/muori per chiudere tutto.\n/misuraON-OFF per riprendere-fermare le misurazioni.\n/help per questo breve help.\n/misura per misurare.\n/delay (int) per cambiare l'intervallo di misurazione a (int)\n\nN.B.: 'root root' per entrare come amministratore.");
            Border blackline = BorderFactory.createLineBorder(Color.red);
            Testo_Help.setBorder(blackline);
    
    //      MONTO LA STRUTTURA E LA VISUALIZZO
            Finestra_Help=new JFrame("Finestra_Help");
            Finestra_Help.getContentPane().setLayout(new GridLayout(1,0));
            Finestra_Help.setDefaultCloseOperation(Finestra_Help.HIDE_ON_CLOSE);
            Finestra_Help.getContentPane().add(Testo_Help);
            Finestra_Help.pack();
            Finestra_Help.setVisible(true);
        }
    
        void Visualizza_Finestra_Login(){
    //      CREAZIONE (fatta a parte) DELLA FINESTRA LOGIN
    //      DISABILITO TUTTO
            ServerKill.setEnabled(false);
            Help.setEnabled(false);
            Misura_ON_OFF.setEnabled(false);
            Misura.setEnabled(false);
            Cambia_Delay.setEnabled(false);
    //      TESTO LOGIN
            Testo_Login=new JTextArea(1,10);
            Testo_Login.setEditable(false);
            Testo_Login.setText("Premi ok dopo aver inserito nome e password. (root root)\nIl server dice: ASPETTO LOGIN");
            Border blackline = BorderFactory.createLineBorder(Color.black);
            Testo_Login.setBorder(blackline);
    //      SPAZIO LOGIN_NOME
            Spazio_Login_Nome=new JTextArea(2,10);
            Border loweredbevel = BorderFactory.createLoweredBevelBorder();
            Spazio_Login_Nome.setBorder(loweredbevel);
            Spazio_Login_Nome.setEditable(true);
    //      SPAZIO LOGIN_PASSWORD
            Spazio_Login_Password=new JTextArea(2,10);
            Spazio_Login_Password.setBorder(loweredbevel);
            Spazio_Login_Password.setEditable(true);
    //      TASTO FAI LOGIN
            Invia_Login=new JButton("Ok");
            Invia_Login.setEnabled(true);
            Invia_Login.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent a){
                    if(connesso){
                        Out.println(Spazio_Login_Nome.getText()+" "+Spazio_Login_Password.getText());
                        Out.flush();
                        Testo_Login.setText("Premi ok dopo aver inserito nome e password. (root root)\nIl server dice: ERRORE LOGIN");
                    }
    
                    else{
                        if(debug)Logga("Errore. Devi essere connesso.");
                    }
                }
                });
            Contenitore_Login=new JPanel(new GridLayout(0,3));
            Contenitore_Login.add(Spazio_Login_Nome);
            Contenitore_Login.add(Spazio_Login_Password);
            Contenitore_Login.add(Invia_Login);
    
    //      MONTO LA STRUTTURA E LA VISUALIZZO
            Finestra_Login=new JFrame("Finestra_Login");
            Finestra_Login.getContentPane().setLayout(new GridLayout(2,0));
            Finestra_Login.setDefaultCloseOperation(Finestra_Login.DO_NOTHING_ON_CLOSE);
            Finestra_Login.getContentPane().add(Testo_Login);
            Finestra_Login.getContentPane().add(Contenitore_Login);
            Finestra_Login.pack();
            Finestra_Login.setVisible(true);
        }
    }
    -_-"

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: AIUTO :( DA Java a Java Applet

    Originariamente inviato da Nokao
    E' grafico, usa le awt.
    E' grafico, usa Swing.

    Ad ogni modo, la SecurityException viene lanciata quando tenti di fare qualcosa che non è permesso nelle Applet: aprire delle Socket verso macchine diverse da quella da cui è stata scaricata l'applet, ad esempio.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    per risolvere o firmi l'applet: http://www.mokabyte.it/1999/11/signedapplet.htm

    o aggiungi al file java.policy questo:

    codice:
    grant codebase "http://www.dominio.dom/-" {
    permissiion java.security.AllPermission;
    };
    Attento, tutti i computer che eseguiranno la tua applet dovranno avere quella modifica al policy file.

    nel codebase devi aggiungere alla fine del dominio il - così include anche le sotto cartelle: http://www.html.it/-





    1000 posts
    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.