Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310

    Jdesktoppane e JinternalFrame

    Salve,
    vorrei tanto usare un jdesktoppane all'interno del quale far aprire vari Jinternalframe, ho creato creato graficamente il jdesktoppane ma visualizza oltre al desktoppane anche un'immagine della stessa dimensione, come posso toglierla?
    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cerza Visualizza il messaggio
    ma visualizza oltre al desktoppane anche un'immagine della stessa dimensione, come posso toglierla?
    Scusa, quale immagine? E comunque senza vedere il codice che hai usato, è più facile fare un terno al lotto piuttosto che capire quale è la problematica.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Grazie per aver risposto,
    il codice è il seguente e poichè ho usato l'ambiente rad di netbeans la prima parte è stata generata automaticamente

    codice:
    desktopPane = new javax.swing.JDesktopPane();
    desktopPane.setBackground(new java.awt.Color(255, 255, 255));
    desktopPane.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder("Immagini Originali")));
    desktopPane.setForeground(new java.awt.Color(255, 255, 255));
    nel costruttore ho messo
    codice:
    desktopPane.setLayout(new BorderLayout());
    mentre il metodo che crea i vari JinternalFrame è il seguente:
    codice:
    
    public void createInternalFrame(Immagine image, String nomeFile) {
            JInternalFrame frame = new JInternalFrame("Frame");
            frame.setTitle(nomeFile);
            frame.setSize(new Dimension(10, 10));
            frame.setClosable(true);
            frame.setMaximizable(true);
            frame.setIconifiable(true);
            frame.setResizable(true);
            desktopPane.add(frame);
            frame.setVisible(true);
        }
    Grazie ancora

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Allora: setBackground ok, setBorder ok (non so perché hai usato 2 createTitledBorder ma se il risultato ti va bene .. ok). setForeground dubito che abbia senso, visto JDesktopPane di per sé non visualizza testo.

    Quote Originariamente inviata da cerza Visualizza il messaggio
    codice:
    desktopPane.setLayout(new BorderLayout());
    Questo di certo non serve. La proprietà 'layout' di JDesktopPane per default vale null = nessun layout manager. Non so dire ora se settare un layout causa problemi o no .... comunque non serve visto che JDesktopPane deve fare da "desktop" per più finestre draggabili a piacere.

    Per la creazione del internal frame, dovresti seguire la sequenza di impostazioni descritta nell'esempio in How to Use Internal Frames, perché perlomeno quella è la sequenza corretta e che funziona.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Con il setLayout sono riuscita a vedere il JInternalFrame,che altrimenti non riuscivo a vedere, ma la cosa che non mi convince è l'immagine blu che inevitabilmente viene associata al jdesktoppane, così come mostrato in figura
    Immagine.jpg

    grazie per la disponibilità

  6. #6
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Con il setLayout sono riuscita a vedere il JInternalFrame,che altrimenti non riuscivo a vedere, ma la cosa che non mi convince è l'immagine blu che inevitabilmente viene associata al jdesktoppane, così come mostrato in figura
    Immagine.jpg

    ed inoltre se riduco ad icona il JInternalFrame non si riduce in basso a sinistra ma resta così
    Immagine2.jpg
    grazie per la disponibilità

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cerza Visualizza il messaggio
    Con il setLayout sono riuscita a vedere il JInternalFrame,che altrimenti non riuscivo a vedere
    Ripeto che non serve setLayout. E per impostazione del JInternalFrame, segui il tutorial.

    Quote Originariamente inviata da cerza Visualizza il messaggio
    ma la cosa che non mi convince è l'immagine blu che inevitabilmente viene associata al jdesktoppane, così come mostrato in figura
    Ho capito ..... nella tua applicazione viene impostato il look&feel chiamato Nimbus ed esso oltre ad avere un aspetto "cool" per gli altri componenti, per JDesktopPane mostra proprio quello sfondo predefinito.

    Per il Nimbus vedi anche: Changing the Color Theme
    e invece qui: http://stackoverflow.com/questions/1...eel-using-java
    spiega come impostare un nuovo Painter per JDesktopPane da usare al posto di quello fornito di serie dal Nimbus L&F.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Grazie per la disponibilità, ho cambiato il lookandfeel ed ovviamente la schermata blu è scomparsa, ma avrei un'altra domanda..... perchè se apro il JInternalFrame, anche altri lookandfeel, non si chiude ad icona in basso a sinistra ma resta chiuso a metà schermo come l'immagine precedente? c'è un modo per poter risolvere questo problema?
    Inoltre come faccio a settare al dimensione del JInternalFrame? perchè adesso ha la stessa dimensione del JDesktopPane.
    Grazie ancora

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cerza Visualizza il messaggio
    perchè se apro il JInternalFrame, anche altri lookandfeel, non si chiude ad icona in basso a sinistra ma resta chiuso a metà schermo come l'immagine precedente? c'è un modo per poter risolvere questo problema?
    Inoltre come faccio a settare al dimensione del JInternalFrame? perchè adesso ha la stessa dimensione del JDesktopPane.
    Stai ancora usando BorderLayout assegnato al JDesktopPane? Toglilo .... l'ho già detto prima.

    E per la dimensione, concettualmente si fa esattamente come per es. JFrame. O setLocation+setSize o setBounds oppure un pack() (imposta tutto alla dimensione "preferita") e poi un eventuale setLocation prima o dopo (dipende se vuoi centrare su un punto o no).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Grazie!
    adesso funziona.
    Ultimo dubbio, come faccio a caricare una foto all'interno del JInternalFrame?
    Grazie ancora, buona giornata.

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.