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

    Problema con applet Java

    Salve. Mi sono appena iscritto a questo forum.
    Spero che qualcuno possa aiutarmi. Ho un problema con Java.
    Premetto che mi sono avvicinato da poco al mondo della programmazione.

    Ho scritto una semplice applet che mostra in una pagina web la frase: "Entriamo nel mondo delle applet del Java!" L'applet funziona al 90%, infatti ho impostato un colore di sfondo nell'area dell'applet che però non appare. Appare la scritta ma non il colore di sfondo.

    Ringrazio anticipatamente chiunque abbia la pazienza di spiegarmi perché non appare il colore di sfondo nell'area riservata all'applet della pagina web.

    Elenco di seguito il codice:










    Programma sorgente java:

    import java.awt.*;
    import javax.swing.*;

    public class PrimaApplet extends JApplet
    {
    public void init()
    {
    setBackground(Color.yellow);
    setForeground(Color.gray);
    }

    public void start(){}

    public void paint(Graphics f)
    {
    f.drawString("Entriamo nel mondo delle applet del JAVA!", 50, 50);
    }

    public void stop(){}

    public void destroy(){}

    }










    Codice html della pagina web:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="Css/applet.css" />
    <title> primapaginawebperapplet </title>

    </head>

    <body>

    <div class="d1">





    <applet code="PrimaApplet.class" codebase="CodiceApplet/" class="areaapplet"> TESTO ALTERNATIVO </applet>

    </p>

    </div>

    </body>

    </html>










    Codice file CSS:

    @charset "utf-8";

    body {background: rgb(255,245,205); color: red}

    .areaapplet {width: 900px; height: 600px; border-style: solid; border-color: blue; border-width: 1px}










    Non riesco proprio a capire perché la scritta appare ma non appare il colore di sfondo.
    Ho provato anche ad impostare le dimensioni della finestra dell'applet nel tag applet, senza usare i css, ma il colore di sfondo non appare comunque.

    Grazie ancora per l'aiuto.

  2. #2
    Non sò, magari sbaglio, ma io non ho mai messo i messaggi nel metodo paint, ma sempre nell'init... così:

    codice:
    public class PrimaApplet extends JApplet
    {
        public void start ()
        {
            super.start ();
        }
        
        public void stop ()
        {
            super.stop ();
        }
        
        public void destroy ()
        {
            super.destroy ();
        }
        
        public void init ()
        {
            super.init ();
            JPanel a = new JPanel ();
            a.setBackground (new Color (XXX, XXX, XXX));
            a.add (new JLabel ("Entriamo nel mondo delle applet del JAVA!"));
            add (a);
            resize (50, 50);
            validate ();
            repaint ();
        }
    }
    Dove nel caso del setBackground spcifichi te le tre coordinate RBG che formano la tua tonalità di giallo... Non mi sono mai piaciute le costanti

  3. #3
    Ho ricopiato il codice pari pari al tuo con copia e incolla. Ho aggiunto le librerie che non avevi messo: import java.awt.* e import javax.swing.*. Ho ricompilato il codice, ma il tuo programma non va. Nello spazio del browser riservato all'applet appare addirittura errore.

    Grazie comunque per aver tentato di aiutarmi.

    Comunque io non vorrei cambiare il codice e aggiungere label o pannelli.
    Il mio codice, in teoria, dovrebbe funzionare anche così, a quanto dice il mio libro.
    Io vorrei capire perché la scritta appare correttamente formattata come posizione e colore, ma il colore di background non appare.

    Vorrei capire se l'errore e nel codice java, nel documento html o nel css.


    Ciao.

  4. #4
    beh, non mi scandalizzo che non compili, l'ho scritto al volo per farti capire i passi che io avrei fatto, ma è normale che magari abbia dimenticato o sbagliato qualcosa
    Mi interessava più dirti l'approccio che io di solito uso...

    Con il tuo modo non sò aiutarti, ma non sembrandomi apparentemente sbagliato ti chiedo una cosa... Hai provato a cancellare la cache della JVM?

  5. #5
    La cache della JVM non so come si cancella però cancello di volta in volta la cronologia del browser perché ho notato che pur aggiornando la pagina web a volte il browser esegue la vecchia applet senza le modifiche.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da AbramoGGiordano
    pur aggiornando la pagina web a volte il browser esegue la vecchia applet senza le modifiche.
    O termini proprio il processo del browser e lo riavvii o apri la "console Java" (icona su taskbar, perlomeno sui S.O. Windows) e digiti x (cancella cache classloader)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Ok. Grazie per l'informazione.

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.