Ciao a tutti,
vorrei inserire una immagine all'interno di un JLayeredPanel.
Potete dirmi come posso fare ?
Grazie
p.s. l'immagine è presa dal web ed ho già l'URL
Ciao a tutti,
vorrei inserire una immagine all'interno di un JLayeredPanel.
Potete dirmi come posso fare ?
Grazie
p.s. l'immagine è presa dal web ed ho già l'URL
Usa una JLabel.
JLabel, di default, è in grado di trattare oggetti Icon per la loro visualizzazione.
Il primo costruttore di JLabel (dopo quello di default), infatti, prevede come parametro proprio un Icon.
Un oggetto Icon lo puoi ottenere costruendo un ImageIcon, che tra i suoi costruttori ne ha proprio uno che prende un oggetto URL.
Riassumendo:
codice:// Ho la mia URL URL urlImmagine = ...; // Costruisco un oggetto Icon Icon img = new ImageIcon( urlImmagine ); // Costruisco la JLabel JLabel miaLabel = new JLabel( img ); // La metto nel JLayeredPane: layeredPane.add(miaLabel, posizione); // Posizione è l'indice del Layer
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Allora, ho fatto così:
ho inserito in una parte del JLayeredPanel, un JPanel ed all'interno una JLabel.
che ne dite?codice:URL UrlImmagine = new URL(....); BufferedImage Image = ImageIO.read(UrlImmagine); mapHolder = new JLabel(new ImageIcon(Image)); .... framePanel.setLayout(new BorderLayout()); framePanel.add(mapHolder, BorderLayout.CENTER);
Di per sé corretto. Anche se l'uso di JPanel solo per tenere 1 JLabel in CENTER (quindi coprendo tutta l'area di JPanel) è abbastanza superfluo se il JPanel non ha altro. Detto in altro modo: potresti mettere direttamente un JLabel nel JLayeredPane.
Tieni presente che i componenti che aggiungi nel JLayeredPane (es. il tuo framePanel) vanno posizionati e dimensionati esplicitamente (setLocation+setSize oppure setBounds).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ok vedrò considerare una JLabel senza utilizzare il JPanel
Ultima modifica di roquentin; 16-10-2014 a 22:30
Se il problema è cambiato, si deve aprire una nuova discussione, altrimenti diventa tutto un caos e nessuno riesce più a fruire dei contenuti del forum.
Ho diviso la discussione: il nuovo problema è trattato in questa.
Ciao.![]()
Ultima modifica di LeleFT; 17-10-2014 a 12:58
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza