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
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
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Grazie per aver risposto,
il codice è il seguente e poichè ho usato l'ambiente rad di netbeans la prima parte è stata generata automaticamente
nel costruttore ho messocodice: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));
mentre il metodo che crea i vari JinternalFrame è il seguente:codice:desktopPane.setLayout(new BorderLayout());
Grazie ancoracodice: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); }
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.
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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à
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à
Ripeto che non serve setLayout. E per impostazione del JInternalFrame, segui il tutorial.
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Grazie!
adesso funziona.
Ultimo dubbio, come faccio a caricare una foto all'interno del JInternalFrame?
Grazie ancora, buona giornata.