Avatar billede torving Nybegynder
15. november 2001 - 13:50 Der er 2 kommentarer og
1 løsning

opdatering af billedePanel

Mit problem er at jeg har et panel som viser et billede.
Det skal være således at når man trykker på en knap så bliver
dette billedePanel opdateret med et nyt billede.
Jeg syntes ikke helt at jeg kan få det til at virke.
Nedenstående kode er et udklip fra programmet.
Håber der er nogen som kan give mig noget hjælp.

class ImagePanel extends JPanel
{
    public ImagePanel(Image image)
    {
      this.image = image;
    }

    public void paint(Graphics g)
    {
      g.drawImage(image, 0, 0, this);
    }

    Image image;                   
}


public void billede()
{
    billedePanel.setBorder(BorderFactory.createTitledBorder (\"Billede\"));
    billedePanel.setBackground(new Color(140,140,140));
    ImageIcon icon = null;
      try
      {
        icon = new ImageIcon(new URL(getCodeBase(), \"frodo.jpg\"));
      }
      catch(MalformedURLException e)
      {
          tekstUd.append(\"Failed to create URL:\\n\" + e);
          return;
      }
      ImagePanel imagePanel = new ImagePanel(icon.getImage());
        billedePanel.setLayout(new BorderLayout());
      billedePanel.add(imagePanel);    // Add the panel to the content pane
}

public void billedeRedraw()
{
// Her skal metoden være som opdatere billedePanelet med det nye billede.
}
Avatar billede carstenknudsen Nybegynder
15. november 2001 - 14:12 #1
Har du en ActionListener til at detektere hvornår der
trykkes på knappen? I så fald skal denne blot kalde
din billeRedraw() metode.
Avatar billede torving Nybegynder
15. november 2001 - 14:49 #2
Ja jeg har en Actionlistener. Men det er ikke det der er problemet. Problemet er hvad skal der stå i billedeRedraw metoden...
Det er der jeg står fast.

MVH

Michael
Avatar billede logical Nybegynder
15. november 2001 - 20:11 #3
Må jeg komme med et forslag. Brug en JLabel til at indeholde dit image. Det er nemmere, og al koden virker som du forventer, eksempelvis:


ImageIcon image = new ImageIcon(\"frodo.jpg\");
JLabel imageContainer = new JLabel(image);
billedPanel.add(imageContainer);

redraw:
imageContainer.setIcon(new ImageIcon(\"bilbo.jpg\"));
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester