Newsgroup: it.comp.java
Titolo: java.lang.SecurityException: Too many images

Salve, ho scoperto un nuovo problema:
Parliamo applet e di grafica AWT.
Uso molti pannelli su cui ridefinisco il metodo paint
usando il il  doppiobuffer (cosi' e' chiamato sulla guida) nel seguente
modo:
Image offscreenImg;
Graphics offscreen;
offscreenImg = createImage(L,H);
offscreen = offscreenImg.getGraphics();
public void update(Graphics screen){ paint(screen); }
public void paint(Graphics screen) {}
public void destroy() {offscreen.dispose(); offscreenImg.flush();}
dopo un certo numero di reload o di sessioni dell'applet,  il browser si
pianta, la memoria usata va alle stelle... (come sempre quando si pianta) e
mi da questi errori:
////////////////////////////////////////////////////////////////////
java.lang.SecurityException: Too many images
 at com/ms/awt/image/ImageRepresentation.incNativeCount
 at com/ms/awt/image/ImageRepresentation.offscreenInit
 at com/ms/awt/image/Image.<init>
 at com/ms/awt/ImageX.<init>
 at com/ms/awt/WComponentPeer.createImage
 at java/awt/Component.createImage
 at test.init
 at com/ms/applet/AppletPanel.securedCall0
 at com/ms/applet/AppletPanel.securedCall
 at com/ms/applet/AppletPanel.processSentEvent
 at com/ms/applet/AppletPanel.processSentEvent
 at com/ms/applet/AppletPanel.run
 at java/lang/Thread.run
java.lang.SecurityException: Too many images
 at com/ms/awt/image/ImageRepresentation.incNativeCount
 at com/ms/awt/image/ImageRepresentation.offscreenInit
 at com/ms/awt/image/Image.<init>
 at com/ms/awt/ImageX.<init>
///////////////////////////////////////////////////////////////////////////
come posso ovviare a questo problema?
Come sempre, vi sono grato per qualsiasi aiuto, .
Oxy

per evitare equivoci, specifico meglio il metodo paint:
 public void paint(Graphics screen) {
   offscreen.setColor(Color.red);   // solo un esempio....
   screen.drawImage(offscreenImg,0,0,this);
   offscreenImg.flush();
}

 ha scritto nel messaggio
news:5Cxt9.67195$RO.17...@twister1.libero.it...


 Non riesco a capire il perchè devi creare nuove immagini.
non la creo ogni volta , solo quando cambiano le dimensioni della
finestra...  se ne crassi una della dimensione massima  la grafica
rallenterebbe in maniera inaccettabile ( il rallentamento con le grandi
dimensioni e' il mio problema attuale ).
Ma non e' quello il problema  basta crearne 5-10 (una per ogni pannello,
altrimenti sai lo sfarfallio) aprendo molte finestre finisci le immagini...
:-(
Il problema non e' la ricreazione... posso modificare le dimensioni
centinaia di volte senza avere problemi... il problema e' che c'e' un numero
massimo di .... (Graphics !?) creabile.
Ricordati che posso usare solo AWT, niente 2D, niente BufferImage... tutte
robe che in IE non vanno!
Ciao:)

La JavaVM di Microsoft utilizzata all'interno di explorer fa schifo ed è
piena di bachi (a proposito... fatto già un giro su Windows Update?).
Installati la J2SDK 1.4.1_01 di Sun, che la sostituisce in toto sia per
IExplorer che per NetScape. I client poi mandali all'indirizzo
 
http://java.sun.com/getjava/download.html
É sufficiente cliccare su "Click to begin" per eseguire un'installazione
della JVM di Sun totalmente automatizzata.

 IExplorer che per NetScape. I client poi mandali all'indirizzo
AHAHAH:)))..... Questa la devo incorniciare!.... La  VM>1.4. e' la pegggiore
schifezza esistente nel mondo Java  almeno per quello che mi interessa : AWT
1.1!... La  JVM  MS in confronto e' il paradiso!
Se avessi letto i piei post degli ultimi mesi non lo avresti scritto... sono
tre mesi che litigo con i vari bug della 1.4!
Purtroppo pero' in questo caso nemmeno la stabilissima JVM  della MS ce la
fa!... Altriementi trattandosi di applet non mi sarei nemmeno posto il
problema.  E' un limite con tutte le versioni SUN e MS.
Cmq  grazie per il tentativo:-)
Ciao

 ha scritto nel messaggio
news:s4au9.74616$RO.18...@twister1.libero.it...


 e' solida. ovviamente devi usare le classi giuste, non l'awt.
Si questo l'ho capito... si potrebbe dire che : MS ha mollato java SUN
(swing) e SUN ha mollato Java MS (AWT) :-(
Cmq, non ho alternativa!...
Considerando  che per me le app web sono findmentali : sto pensando di
passare ad altro NET, C#... o roba del genere... (non sono molto informato
al riguardo).
Far installare il plug-in a chi passa magari per caso sul sito e' assurdo e
in ogni caso il funzionamento sarebbe lento e pesante. Ma anche far
installare la VM MS ora che non e' piu' pre-installata sta diventando un
problema!
So di che le app Java possono essere convertite in C# o NET... ma a dire il
vero non ho ancora capito chi le vedrebbe??... Cosa serve per vedere una app
web con questi linguaggi??... Un normale  Win. (XP-2000-ME-98) le vedrebbe o
deve installare qualcosa???... ( Che stress! :-/ )
Ciao
Oxy

 problema!
un motivo in piu' per passare alla jvm di sun al piu' presto.

( Che stress! :-/ )
Mah? :-)
-- 
Ciao
	Fabrizio C.

 >Cosa serve per vedere una app web con questi linguaggi??...
Ma allora cosa dovrei fare!!!... Mi serve un sostituto delle applet "non
segnate"  che vadano con Windows comprato dal negozio:).... senza
installazioni.... forse gli activeX (di cui non so nulla) ?... Ma quelli
richiedono sempre permessi o come per le applet posso almeno leggere un file
dal server su cui si trovano possono farlo senza problemi?... E cosa
servirebbe per farli?.. VisualBasic?
Altrimenti non mi resta che abbandonare le app-web e passare ad un semplice
prog. Win. ma anche qui e' un problema ... dovrei riuscire a convertire Java
in un exe eseguibile "senza" JRE... e non ci sono mai riuscito! :-/
MS-SUN e le loro guerre... che vadino a aff..... tutti e due!
Grazie
Ciao