JLabel in JScrollPane non si vede

di il
2 risposte

JLabel in JScrollPane non si vede

Usando NetBeans ho sviluppato un semplice programma java che dovrebbe visualizzare un'immagine in un JScrollPane.
Questo è il codice java:

ImageIcon imic = new ImageIcon(img);
JLabel jlab = new JLabel(imic);
jScrollPane1.add(jlab);
invalidate();

Il codice viene eseguito senza errori, ma l'immagine non viene visualizzata.
Qualcuno sa capire che cosa non va ?

2 Risposte

  • Re: JLabel in JScrollPane non si vede

    fontiluigi ha scritto:


    ImageIcon imic = new ImageIcon(img);
    JLabel jlab = new JLabel(imic);
    jScrollPane1.add(jlab);
    invalidate();
    Detto così purtroppo non è chiaro, non è molto contestualizzato. Ma c'è una cosa che sicuramente è "dubbia". Con JScrollPane NON si usa il add. Si usa il setViewportView(Component view) per cambiare il componente che fa da "view".

    La documentazione di setViewportView è anche chiarissima:

    Applications should not add children directly to the scrollpane.

    P.S. ah, il invalidate(), se non ci sono altre motivazioni che non conosco, di per sé non serve usando setViewportView.
  • Re: JLabel in JScrollPane non si vede

    Grazie, questa è stata la soluzione: setViewportView.
Devi accedere o registrarti per scrivere nel forum
2 risposte