Newsgroup: it.comp.java
Titolo: JDesktopPane e JInternalFrame

Devo simulare, in java, il desktop di windows ed ho pensato che il 
controllo JDesktopPane della libreria swing facesse a caso mio, così mi 
sono creato questa classe, per creare un JDesktopPane su cui si possa 
impostare un'immagine, a tutto schermo, come sfondo, con la possibilità 
anche di cambiare questa immagine o di lasciare il JDesktopPane senza 
immagine di sfondo:
import javax.swing.*;
import java.awt.*;
public class JDesktopPicture extends JDesktopPane
{
  private String imagepath=null;
  private boolean thereisanimage=false; 
  private Image img;
  public JDesktopPicture()
  {
    super();
  }
  public JDesktopPicture(String imagepath)
  {
    thereisanimage=true;
    this.imagepath=imagepath;
    Toolkit tk=Toolkit.getDefaultToolkit();
    img=tk.getImage(imagepath);
    MediaTracker mt=new MediaTracker(this);
    mt.addImage(img,1);
    try
       {
         mt.waitForID(1);
       }
       catch (Exception e){}
  }
  public void setImage(String imagepath)
  {
    thereisanimage=true;
    this.imagepath=imagepath;
    Toolkit tk=Toolkit.getDefaultToolkit();
    img=tk.getImage(imagepath);
    MediaTracker mt=new MediaTracker(this);
    mt.addImage(img,1);
    try
       {
         mt.waitForID(1);
       }
       catch (Exception e){} 
    repaint();
  }
   public void deleteImage()
  {
    if(thereisanimage)thereisanimage=false;
    repaint();
  }
  public void paint(Graphics g)
  {
    super.paint(g);
    if(thereisanimage) g.drawImage(img,0,0,this.getWidth
(),this.getHeight(),null);
  }
}
e poi ho creato quest'altra classe, dove creo un JDialog a tutto 
schermo dove aggiungere il JDesktopPane con l'immagine di sfondo:
import javax.swing.*;
import java.awt.*;
public class form extends JDialog
{
 private JDesktopPicture Sfondo=new JDesktopPicture
("net2030sfondo.jpg");
 
  public form()
  {
    GraphicsDevice device;
    GraphicsEnvironment environment 
=GraphicsEnvironment.getLocalGraphicsEnvironment();
   device = environment.getDefaultScreenDevice();
   device.setFullScreenWindow(this);
    setBackground(Color.BLUE);
    Sfondo.setSize(this.getWidth(),(this.getHeight()-40));
    Sfondo.setDragMode(JDesktopPane.LIVE_DRAG_MODE);
    getContentPane().add(Sfondo);
    setVisible(true);
  }
  public JDesktopPane desktop()
  {
    return Sfondo;
  }
 
}
E poi la classe con il main:
import javax.swing.*;
import java.awt.*;
public class net2030
{  
  private static JButton menu;
 
  public static void main(String args[])
  {
    form f= new form();
    StatusBar statusbar=new StatusBar(f.getWidth());
    menu=new JButton("menu");
    menu.setBackground(Color.WHITE);
    statusbar.add(menu);
    f.getContentPane().add (statusbar,BorderLayout.PAGE_END);
    PassWindow PW=new PassWindow();
    f.desktop().add(PW);
 
  }
}
Il problema però è questo:  che la  finestra, all'interno del 
JDesktopPane (creata mediante una classe che estende JInternalFrame), 
si vede perfettamente, ma se ci clicco scompare.
Come si risolve questo problema? Grazie per l'attenzione.

 Come si risolve questo problema? Grazie per l'attenzione.
Ti diro', non ho prestato grande attenzione al tuo codice, pero' 
sospetto che il problema dipenda dall'opacita' dei tuoi component. Prova 
a giocare con setOpaque(true/false);
-- 
Dr.Ugo Gagliardelli,Modena,ItalyCertifiedUindoscrasherAñejoAlcoolInside
Spaccamaroni andate a cagare/Spammers not welcome/Spammers vão à merda
Spamers iros a la mierda/Spamers allez vous faire foutre/Spammers loop
schijten/Spammers macht Euch vom Acker/Spamerzy wypierdalac'

Ciao,
	migrando un'applicazione tomcat tra db mi sono accorto che tomcat ha un 
comportamento un po' "strano" per quanto riguarda la gestione dei charset.
Quando leggo i dati da db li vedo correttamente (charset html corretto), 
quando li reinvio alla pagina (es. per un update al db) via form-input 
arrivano con un charset "sbiellato".
Nella pagina jsp ho indicato:
- il tag HTML 'meta "Content-Type"';
- il tag JSP 'page contentType="text/html; charset=UTF-8"';
- l'istruzione 'request.setCharacterEncoding("UTF-8")'.
Quest'ultima aggiunta per prova anche nella classe che gestisce la 
response filtrando i dati per poi passarli alla classe che si 
interfaccia al db.
Nonostante tutte queste varie indicazioni (provato varie combinazioni) 
sull'url continuo a leggere i valori corretti (convertiti in UTF) ma 
quando li richiedo alla request (con getParameter) vengono convertiti in 
un diverso charset (presumo quello del SO).
Ho risolto il tutto aggiungendo sul file server.xml l'attributo 
URIEncoding="UTF-8" al tag Connector, ma è una soluzione che decisamente 
non mi soddisfa:
- coinvolge tutte le applicazioni;
- tutte le istruzioni/indicazioni precedentemente elencate sembrano 
inutili/ininfluenti.
Qualcuno ha riscontrato la stesso comportamento? Nel caso, come l'ha 
risolto?
In rete si trovano alcuni documenti a tal proposito ma tutti finiscono 
per suggerire la modifica di server.xml.
Ringrazio anticipatamente chi possa/voglia darmi delucidazioni.
Buona serata!




<%@ page contentType="text/html; charset=iso-8859-1" %>

 <%@ page contentType="text/html; charset=iso-8859-1" %>
Ciao, come dicevo nel post precedente ho già utilizzato questo tag jsp 
(anche se con charset UTF-8) ma senza riscontrare alcun effetto: la 
response continua a conservare i dati col charset di default del sistema 
(ISO-8859-15).
Grazie comunque.

 [...] la response continua a conservare i dati col charset di default
 > del sistema (ISO-8859-15).
Modificando/aggiungendo l'attributo URIEncoding nel tag Connector di 
server.xml il tutto funziona correttamente.
Purtroppo influenza tutto l'AS: pare non ci sia modo di intervenire solo 
sul charset di una applicazione o, come speravo, della singola response.