PDA

View Full Version : [java] inserire immagine in un jscrollpane


ceccoggi
11-02-2007, 23:18
Salve a tutti sto creando un programma così composto:

frame iniziale
|
jtabbedpane
|
tab1 tab2 tab3

tab2 è un jpanel al cui interno ho uno slider e un jscrollpane.
All'inizio ovviamente tutto è vuoto.
quando un utente entre nel secondo tab va su file->apri e selezione l'immagine che vuole aprire...
Ora come faccio a buttare quest'immagine nel jscrollpane?

Caricandola come "Image" e facendo un repaint() "overridizando" la funz paint non mi carica gli sliders, mentre caricandola come ImageIcon e poi facendo
panscroll.add(new JLabel(immagine)); non funzia...

Come posso fare?

PGI-Bis
12-02-2007, 09:23
sovrascrivendo :D

Metti una JLabel nello scrollpane e cambia la sua icona. Di solito io mi trovo meglio creando dei gestori ad hoc. Cioè se voglio uno scrollpane in cui posso inserire un'immagine allora creo una cosa tipo:

public class ImageViewer {
private JLabel label = new JLabel();
private JScrollPane component = new JScrollPane(label);

public void setImage(Image i) {
label.setIcon(new ImageIcon(i));
component.setViewportView(label);
}

public JComponent getComponent() {
return component;
}
}

Nella GUI metto il componente restituito da getComponent() e quando voglio cambiare l'immagine, avendo l'ImageViewer il cui componente è stato inserito nella GUI, invoco:

thatImageViewer.setImage(immagine);

ceccoggi
12-02-2007, 13:37
perfetto...funzia;)

potresti aiutarmii nel 3ad sul come cambiare la luminosità di un'immagine attraverso uno slider? grazie mille