Come faccio ad inserire un'immagine in una applicazione swing? ho provato con Image im=getImage(getCodeBase(), "prova.jpg"), però mi dà errore. qualcuno mi può aiutare?
grazie a tutti!
Come faccio ad inserire un'immagine in una applicazione swing? ho provato con Image im=getImage(getCodeBase(), "prova.jpg"), però mi dà errore. qualcuno mi può aiutare?
grazie a tutti!
Usa una classe come questa:
Questa è molto minimale, ma funziona. Si usa in questo modo:codice:private class Immagine extends JPanel { private Image img; public Immagine(Image img) { this.img = img; repaint(); } public void paint(Graphics g) { if (img != null) { // Qui disegno effettivamente l'immagine g.drawImage(img, 0, 0, img.getWidth(this), img.getHeight(this), this); } } public void cambiaImmagine(Image img) { this.img = img; repaint(); } }
In pratica uso un pannello per disegnarci dentro l'immagine e trattarla come un componente qualsiasi, come un pulsante...codice:Immagine img = new Immagine( Toolkit.getDefaultToolkit().createImage("prova.jpg") ); getContentPane().add(img);
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
ma facendo in questo modo, poi sarei in grado di spostarla nel caso ci fosse qualche evento? scusa ma nn capisco cosa voglia dire queta parte
graziecodice:Immagine img = new Immagine( Toolkit.getDefaultToolkit().createImage("prova.jpg") );
EDIT: forse se ti spiego quello che devo fare è meglio.io dovrei prendere un'immagine, visualizzare e ad ogni evento di timer farla spostare. usando questo tipo di oggetto è possibile fare una cosa del genere?
ok scusa, sono riuscito a far apparire l'immagine. ora però il mio problema è uno solo. se voglio far spostare l'immagine ad ogni vento di timer, come faccio? ho provato con AffineTransform ma nn funziona, c'è qualche metodo simile? nel senso, nell'actionListener del timer, che metodi devo richiamare per fare in modo che l'immagine si sposti di una quantità da me definita? grazie mille per la tua disponibilità!
Cosa intendo per "spostare l'immagine"? Se intendo che l'immagine deve cambiare la sua posizione all'interno della finestra (o comunque del suo contenitore), basta che ti vada a modificare la sua posizione con un setLocation() oppure tramite setBounds(). Attenzione: non devi avere un LayoutManager altrimenti la posizione la decide lui.
Esempio:
Ciao.codice:Immagine img = new Immagine(...); img.setLocation(10, 10); //L'immagine è posizionata nella coordinata (10, 10) ... // Sposto l'immagine alla coordinata (20, 20) img.setLocation(20, 20);![]()
"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