Grazie!
adesso funziona.
Ultimo dubbio, come faccio a caricare una foto all'interno del JInternalFrame?
Grazie ancora, buona giornata.
Grazie!
adesso funziona.
Ultimo dubbio, come faccio a caricare una foto all'interno del JInternalFrame?
Grazie ancora, buona giornata.
Dipende dove vuoi visualizzarla. Sfondo del JInternalFrame? In questo caso ti conviene creare un pannello da sostituire al content-pane predefinito e nel tuo pannello fai del custom painting nel paintComponent(Graphics) disegnando la immagine.
In un "riquadro" specifico? Allora basta un JLabel che ha un ImageIcon.
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
Vorrei visualizzare l'immagine nel JinternalFrame, ma non è possibile fare come per le Jlabel che mediante il metodo setIcon permette di caricare il tutto....perchè dovrei aggiungere un pannello?
grazie per la disponibilità
Se vuoi che la immagine faccia da "sfondo", allora deve stare dietro tutti i componenti contenuti nel internal frame, cioè deve essere disegnato in un "contenitore" che ad un livello superiore contiene tutto.
Quindi puoi creare un pannello (in cui disegni la immagine) che o sostituisce completamente il content-pane oppure da inserire dentro il content-pane. In entrambi i casi il tuo pannello fa da "contenitore" per il resto.
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
Scusatemi se insisto... vorrei capire se è corretto quello che ho fatto, seguendo i suggerimenti di andbin.
Ho il metodo che crea il frame interno
adesso la foto la vedo nel pannello, ma non so se è una soluzione corretta; inoltre vorrei ridimensionare il foto che si apre nel frame interno a 300X300, come posso fare?codice:public void createInternalFrame(Immagine image, String nomeFile) { JInternalFrame frame = new JInternalFrame("Frame"); JPanel pannelloFrame = new JPanel(); JLabel labelFrame = new JLabel(); frame.add(pannelloFrame); pannelloFrame.add(labelFrame); labelFrame.setIcon(image.getImageIcon()); }
grazie per l'infinita disponibilità
Concettualmente hai fatto questo: il content-pane del JInternalFrame contiene un JPanel, che contiene a sua volta un JLabel che visualizza un ImageIcon. Di per sé non c'è nulla di sbagliato.
Solo che il pannello occupa tutto lo spazio del content-pane (perché per default è nel CENTER del BorderLayout) mentre il pannello ha per default un FlowLayout. E quindi il JLabel sta alla sua dimensione "preferita" che in questo caso è quella della immagine.
Per ridimensionare una immagine (Image ... non ImageIcon), il modo basilare è con il metodo getScaledInstance di Image.
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
I computer sono incredibilmente veloci, accurati e stupidi.
Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
Insieme sono una potenza che supera l'immaginazione.
A.Einstein
Salve a tutti,
in merito al jinternalframe ho un altro dubbio, in pratica ho caricato la foto solo che adesso dovrei applicare dei filtri su tale foto, ma come posso fare ciò? cioè non riesco a capire come indicare al metodo che trasforma in scala di grigio la sovrascrittura dell'immagine contenuta nel frame.
grazie per la disponibilità