Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Aiuto con Applet Java

  1. #1

    Aiuto con Applet Java

    Ciao a tutti. Ho un problema che spero di risolvere insieme a voi. Io frequento il secondo anno di Ingegneria Informatica e stiamo studiando Sistemi Operativi e quindi i Thread ecc.. tutto con java che ho studiato al primo anno ma non la parte avanzata e enmmeno le GUI ecc... siamo arrivati fino alle eccezioni. Adesso per questa materia devo fare un programma java con i Thread e poi devo fare pure l'applet, cosa che non ho mai visto in vita mia e nemmeno dovrò studiare in qualche materia, per cui mi sono documentato un po ma non trovo molto. Il programma già è scritto e funziona benissimo ma vorrei sapere alcune cose riguardo la creazione di un'applet.
    1)Come faccio una volta inserita un'immagine di sfondo nell'applet a stabilire le coordinate di ciò che ci sta sopra, tipo i clienti che si muovono ecc..., e farli mettere dove voglio io?
    2)Cosa devo mettere all'interno dell'applet che fungerà da main?(so che ci vanno tanti if con getparameter, ma a cosa funziona e come si usa?)
    3)Quali sono i metodi che devo sapere per fare l'applet? Ho visto metodi del tipo public void update(Graphics g) con tanti altri metodi dentro che non so che fanno.
    Insomma, sono molto confuso e devo far tutto entro la prima settimana di Giugno. Aiutatemi perfavore .

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Aiuto con Applet Java

    Originariamente inviato da AlexlovesUSA
    1)Come faccio una volta inserita un'immagine di sfondo nell'applet a stabilire le coordinate di ciò che ci sta sopra, tipo i clienti che si muovono ecc..., e farli mettere dove voglio io?
    Dipende .... nel senso che bisogna vedere cosa devi visualizzare in generale e dove. Cioè un conto è se devi solo comporre la tua interfaccia grafica con componenti (es. JButton, JTextField ecc...) e un altro conto è se devi disegnare figure e immagini in modo arbitrario.

    Originariamente inviato da AlexlovesUSA
    2)Cosa devo mettere all'interno dell'applet che fungerà da main?(so che ci vanno tanti if con getparameter, ma a cosa funziona e come si usa?)
    Una applet non deve avere il classico void main(String[] args) (che invece è per le applicazioni "stand-alone"). Una classe è una "applet" se deriva da java.applet.Applet (c'è anche la sottoclasse javax.swing.JApplet che offre qualcosa in più). Ci sono una serie di metodi importanti in una applet che sono relativi al "ciclo di vita" della applet: init()/start()/stop()/destroy().
    Tipicamente si fa almeno l'override di init() in cui si possono fare inizializzazioni una-tantum per la applet. Se ci sono da creare componenti grafici generalmente si usa invokeLater o invokeAndWait di SwingUtilities per far eseguire il setup della interfaccia nel contesto del EDT.
    Ma dipende appunto da cosa consiste la "inizializzazione".

    Originariamente inviato da AlexlovesUSA
    3)Quali sono i metodi che devo sapere per fare l'applet? Ho visto metodi del tipo public void update(Graphics g) con tanti altri metodi dentro che non so che fanno.
    Dipende da cosa devi fare, se disegnare tutto tu sulla "superficie" della applet o se devi comporre la applet con componenti grafici (pulsanti, campi di testo, ecc...) o un "mix" (grafica tua + componenti).

    Se vuoi un esempio minimale di applet, chiedi, precisando se devi poter usare Swing oppure solo AWT.
    Sul tutorial ufficiale della Sun c'è una sezione dedicata alle applet: Lesson: Applets
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    No, non devo disegnare arbitrariamente ma praticamente devo tradurre il programma che ho scritto in grafica e ovvero ci sarà uno sfondo sempre fisso sul quale cambieranno di posizione dei clienti che entrano e escono dalla banca e in più ci sarà una freccia sopra la porta della banca che indica se il verso della porta è da dentro a fuori o viceversa. Comunque nel pomeriggio mi sono documentato e ho + chiaro cosa fare. Ho già fatto le immagini con paint e cioè lo sfondo, le freccie e i personaggi che metto dentro una cartella graphics e poi modifico come si deve le classi per fare funzionare l'applet. L'unico problema è questo delle coordinate e ovvero, io ho uno sfondo fisso sul quale devono muoversi delle immagini a seconda di quello che devono fare. Come faccio a sapere le giuste coordinate da dare alle immagini per posizionarle al momento giusto nel punto giusto dell'immagine?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da AlexlovesUSA
    Come faccio a sapere le giuste coordinate da dare alle immagini per posizionarle al momento giusto nel punto giusto dell'immagine?
    Di seguito un esempio di codice minimale da cui puoi partire.

    codice:
    import java.awt.*;
    import javax.swing.*;
    
    public class TestApplet extends JApplet {
        private PannelloDisegno disegno;
    
        public void init() {
            try {
                SwingUtilities.invokeAndWait(new Runnable() {
                    public void run() {
                        setupGUI();
                    }
                });
            } catch (Exception e) {
                System.err.println("Applet initialization error!");
                e.printStackTrace(System.err);
            }
        }
    
        private void setupGUI() {
            disegno = new PannelloDisegno();
            getContentPane().add(disegno, BorderLayout.CENTER);
        }
    }
    
    
    class PannelloDisegno extends JPanel {
        private Image sfondo;
        private Image immagine;
    
        public PannelloDisegno() {
            Toolkit toolkit = Toolkit.getDefaultToolkit();
            sfondo = toolkit.getImage(PannelloDisegno.class.getResource("sfondo.jpg"));
            immagine = toolkit.getImage(PannelloDisegno.class.getResource("immagine.gif"));
        }
    
        protected void paintComponent(Graphics g) {
            g.drawImage(sfondo, 0, 0, this);
            g.drawImage(immagine, 40, 40, this);
        }
    }
    E nella pagina html metterai ad esempio semplicemente:

    codice:
    <html>
    .....
    <applet width="300" height="300" code="TestApplet.class">
    </applet>
    .....
    </html>
    I due nomi passati a getResource, per come è l'esempio sopra, indicano che le due immagini devono trovarsi nella stessa directory dove sarà presente il file compilato PannelloDisegno.class
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.