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

    Conversione progetto JFrame in Applet

    Salve a tutti,
    Ho creato un progetto in Java utilizzando JFrame che prevede la chiamata di più classi e quindi più schermate in seguito alle scelte dell'utente. Ora ho la necessità di convertire il progetto in JApplet per eseguirla sul web. Cercando su internet ho letto che dovrebbe essere sufficiente togliere il main e far estendere JApplet alla classe anzichè JFrame, ma non mi riporta la grafica corretta. Qualcuno saprebbe darmi qualche dritta??
    Grazie in anticipo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Java ha un forum dedicato: "Java", appunto.

    Sposto.


    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

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non so dove tu abbia letto che sia sufficiente togliere il main e modifirare da JFrame a JApplet, ma le cose non stanno così.
    Un'applet ha un ciclo di vita completamente diverso da quello di una normale applicazione desktop.

    L'applet viene inizializzata all'interno del metodo init(), poi vengono invocati i metodi start() per far partire l'applet e e stop() quando questa deve essere fermata e successivamente distrutta ( destroy() ).

    Poi, noi non possiamo sapere cosa tu intenda con "non mi riporta la grafica corretta"... dovresti postare un po' di codice per far capire cosa stai facendo e una breve descrizione di cosa, invece, ti aspetti.

    PS: tieni presente che le applet stanno lentamente (ma inesorabilmente) andando in disuso... io, francamente, non ci perderei su tempo per fare una cosa del genere.


    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

  4. #4
    Scusami se ho creato il post in una sezione sbagliata e se ho postato lo stesso problema sotto una domanda molto datata, sono nuovo e devo ancora memorizzare bene le regole del forum.
    Per quanto riguarda l'applet si hai ragione, ne conosco il ciclo di vita ed ovviamente non erano le uniche modifiche da apportare..ora ti riporto un pezzo di codice dall'applicazione che estende JFrame e ti dico le modifiche che ho apportato.

    p.s. so che l'applet è una tecnologia in disuso ma per motivi universitari mi è stata "imposta" tale tecnologia.

  5. #5
    codice:
    import java.awt.EventQueue;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import CLIPSJNI.Environment;
    import CLIPSJNI.PrimitiveValue;
    import javax.swing.JTextPane;
    import java.awt.Font;
    import java.awt.event.MouseEvent;
    import java.util.StringTokenizer;
    import java.awt.Color;
    import javax.swing.SwingConstants;
    import javax.swing.JScrollPane;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    
    
    public class Progetto extends JFrame {
        
        static Object ProfileData[] = new Object[30];
        
        static Environment clips=new Environment();
        
        static PrimitiveValue rv; 
        static String a="?*send*";
        
        
    
    
        private JPanel contentPane;
    
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        clips.load("prova.clp");
                        
                        clips.reset();
                        clips.run();
                        Progetto frame = new Progetto();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
                        
        /**
         * Create the frame.
         * @throws Exception 
         */
        public Progetto() throws Exception  {
            setResizable(false);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 30, 662, 671);
            contentPane = new JPanel();
            contentPane.setBackground(Color.LIGHT_GRAY);
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);
            
            rv=clips.eval(a);
            ProfileData=(Object[]) Progetto.codificaCodice(rv.stringValue());
            System.out.println((String) Progetto.ProfileData[0]);
            
            JButton range2 = new JButton("18 - 30");
            range2.setFont(new Font("Trebuchet MS", Font.PLAIN, 15));
            range2.setForeground(Color.BLACK);
            range2.setBackground(Color.CYAN);
            range2.setBounds(311, 221, 89, 31);
            contentPane.add(range2);
            
            JButton range4 = new JButton("OVER 60");
            range4.setFont(new Font("Trebuchet MS", Font.PLAIN, 15));
            range4.setForeground(Color.BLACK);
            range4.setBackground(Color.CYAN);
            range4.setBounds(311, 279, 89, 31);
            contentPane.add(range4);
            
            JLabel lblTravel = new JLabel("Travel Recommender");
            lblTravel.setForeground(new Color(204, 0, 0));
            lblTravel.setFont(new Font("Trebuchet MS", Font.BOLD | Font.ITALIC, 30));
            lblTravel.setHorizontalAlignment(SwingConstants.CENTER);
            lblTravel.setBounds(-29, 11, 636, 49);
            contentPane.add(lblTravel);
            
            JButton range1 = new JButton("0 - 18");
            range1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                }
            });
            range1.setForeground(Color.BLACK);
            range1.setFont(new Font("Trebuchet MS", Font.PLAIN, 15));
            range1.setBackground(Color.CYAN);
            range1.setBounds(176, 221, 89, 31);
            contentPane.add(range1);
            
            JTextPane txtpnFsd = new JTextPane();
            txtpnFsd.setToolTipText("");
            contentPane.add(txtpnFsd);
            
            txtpnFsd.setForeground(Color.BLACK);
            txtpnFsd.setBackground(Color.LIGHT_GRAY);
            txtpnFsd.setFont(new Font("Trebuchet MS", Font.BOLD | Font.ITALIC, 15));
            
            txtpnFsd.setEditable(false);
            txtpnFsd.setBounds(213, 134, 139, 76);
            txtpnFsd.setText((String) ProfileData[0]);
            
            JButton range3 = new JButton("30 - 60");
            range3.setForeground(Color.BLACK);
            range3.setFont(new Font("Trebuchet MS", Font.PLAIN, 15));
            range3.setBackground(Color.CYAN);
            range3.setBounds(176, 279, 89, 31);
            contentPane.add(range3);
            
            range1.addMouseListener(new java.awt.event.MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    Progetto.clips.eval((String) Progetto.ProfileData[1]);  //assert 0-18
                    Progetto.clips.run();
                    Progetto.rv=Progetto.clips.eval(a);
                    try {
                        Progetto.ProfileData=(Object[]) Progetto.codificaCodice(Progetto.rv.stringValue());
                        System.out.println((String) Progetto.ProfileData[0]);
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    Lavoro frame = null;
                    try {
                        frame= new Lavoro();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    frame.setVisible(true);
                    dispose();
                }
            });
            
            range2.addMouseListener(new java.awt.event.MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    Progetto.clips.eval((String) Progetto.ProfileData[2]);  //assert 18-30
                    Progetto.clips.run();
                    Progetto.rv=Progetto.clips.eval(a);
                    try {
                        Progetto.ProfileData=(Object[]) Progetto.codificaCodice(Progetto.rv.stringValue());
                        System.out.println((String) Progetto.ProfileData[0]);
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    Lavoro frame = null;
                    try {
                        frame= new Lavoro();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    frame.setVisible(true);
                    dispose();
                }
            });
            
            range3.addMouseListener(new java.awt.event.MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    Progetto.clips.eval((String) Progetto.ProfileData[3]);  //assert 30-60
                    Progetto.clips.run();
                    Progetto.rv=Progetto.clips.eval(a);
                    try {
                        Progetto.ProfileData=(Object[]) Progetto.codificaCodice(Progetto.rv.stringValue());
                        System.out.println((String) Progetto.ProfileData[0]);
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    Lavoro frame = null;
                    try {
                        frame= new Lavoro();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    frame.setVisible(true);
                    dispose();
                }
            });
            
            range4.addMouseListener(new java.awt.event.MouseAdapter(){
                public void mouseClicked(MouseEvent e){
                    Progetto.clips.eval((String) Progetto.ProfileData[4]);  //assert magg 60
                    Progetto.clips.run();
                    Progetto.rv=Progetto.clips.eval(a);
                    try {
                        Progetto.ProfileData=(Object[]) Progetto.codificaCodice(Progetto.rv.stringValue());
                        System.out.println((String) Progetto.ProfileData[0]);
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    Lavoro frame = null;
                    try {
                        frame= new Lavoro();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    frame.setVisible(true);
                    dispose();
                }
            });
            
        }
        
        public static Object codificaCodice(String message) {
            
            Object token = null;
            int count = 0;
            Object ProfileData[] = new Object[30];
            for(StringTokenizer st = new StringTokenizer(message, "%"); st.hasMoreTokens(); count++)
            {
                token = st.nextToken();
            
                ProfileData[count] = (String) token;
                }
            return ProfileData;
            
            }
    
    }
    Ultima modifica di LeleFT; 11-02-2015 a 16:21 Motivo: Aggiunti i tag CODE

  6. #6
    Il codice prevede una grafica con textPane e 4 bottoni..alla base passo delle stringhe da un sistema esperto e in base alla scelta dell'utente invio delle assert al sistema esperto e instanzio una nuova classe con la relativa interfaccia..

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.