gif do Jlabel - ?

0

Nie jestem w stanie określić błedu!
Kompilator wskazuje na brak ;

import java.awt.;
import java.awt.image.
;
import javax.swing.;
import java.awt.event.
;
import java.io.;
import javax.imageio.
;

public class PokazObrazek {
public static void main(String args[]) throws Exsception {
JFrame frame = new JFrame("Pokaz Obrazek");
JPanel panel = new JPanel();
panel.setLayout(new GridLayout (2,1));
//przycisk
JLabel lab = new JLabel("obrazek");

    // pokazuje mi poniżej brak ; czego nie rozumiem !!!

***--> lab.add ComponentListener (new ComponentListener() {
public void actionPerformed (ActionEvent e) {
String obrazek = "lady22.gif"
Image obraz = Toolkit.getDefaultToolkit().getImage(obrazek);
public void paintComponent(Graphic g) {
g.drawImage(obraz, x, y, null);}
lab.setImage(obraz);
});
JButton button = new JButton("Exit");
button.add ActionListener (new ActionListener() {
public void actionPerformed (ActionEvent e) {
System.exit(0);
}
});
//dodanie komponentów
panel.add(lab);
panel.add(button);
frame.getContentPane().add(panel);
frame.setSize(200,200);
frame.setLocation(250, 250);
frame.setVisible(true);
}
}
}
</image>

0

Brak ; w

String obrazek = "lady22.gif"

pozdrawiam
johny

0

faktycznie to ten błąd
po poprawieniu jeszcze położenia } z końca do wiersza 24
lab.setImage(obraz);}
wyśietla mi jeszcze 1 błąd
illegal start of expresion
public void paintComponent(Graphic g) {

source
//import java.awt.Component;
import java.awt.;
import java.awt.image.
;
import javax.swing.;
//import java.awt.event.
;
//import java.io.;
//import javax.imageio.
;
//import java.lang.*;

public class PokazObrazek {
public static void main(String args[]) throws Exsception {
JFrame frame = new JFrame("Pokaz Obrazek");
JPanel panel = new JPanel();
panel.setLayout(new GridLayout (2,1));
//przycisk
JLabel lab = new JLabel("obrazek");
lab.addComponentListener (new ComponentListener() {
public void actionPerformed(ActionEvent e) {
String obrazek = "lady22.gif";
Image obraz = Toolkit.getDefaultToolkit().getImage(obrazek);
public void paintComponent(Graphic g) {
g.drawImage(obraz, x, y, null);
}
lab.setImage(obraz);}
});

         JButton button = new JButton("Exit");
         button.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 System.exit(0);
             }
         });
         //dodanie komponentów
         panel.add(lab);

         panel.add(button);

         frame.getContentPane().add(panel);

         frame.setSize(200, 200);

         frame.setLocation(250, 250);

         frame.setVisible(true);
     
}
        }

chciałbym wyświetlić gif w tym JLabel co powinienem zmienić?

0
illegal  start of expresion
public void  paintComponent(Graphic g) {

powinno byc Graphics

pozdrawiam
johny

0

aha s, ale dlaczego podkreśla public? w dalszym ciągu

0
robsi napisał(a)

aha s, ale dlaczego podkreśla public? w dalszym ciągu

nie wiem, bo nie dales calego kodu.

PS. uzywaj znacznika code, duzo lepiej widac.

pozdrawiam
johny

0
//import java.awt.Component;
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
//import java.awt.event.*;
//import java.io.*;
//import javax.imageio.*;
//import java.lang.*;

public class PokazObrazek {
    public static void main(String args[]) throws Exsception {
        JFrame frame = new JFrame("Pokaz Obrazek");
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout (2,1));
        //przycisk
        JLabel lab = new JLabel("obrazek");
         lab.addComponentListener (new ComponentListener()  {
             public void actionPerformed(ActionEvent e) {
                 String obrazek = "lady22.gif";
                 Image obraz = Toolkit.getDefaultToolkit().getImage(obrazek);
                 public void paintComponent(Graphics g) {
                     g.drawImage(obraz, x, y, null);
                 }
                 lab.setImage(obraz);}
             });

             JButton button = new JButton("Exit");
             button.addActionListener(new ActionListener() {
                 public void actionPerformed(ActionEvent e) {
                     System.exit(0);
                 }
             });
             //dodanie komponentów
             panel.add(lab);

             panel.add(button);

             frame.getContentPane().add(panel);

             frame.setSize(200, 200);

             frame.setLocation(250, 250);

             frame.setVisible(true);

    }
            }


0

To juz wiem, czemu nie moglem znalezc tej metody.
Nie mozesz tak po prostu byle gdzie deklarowac sobie metody. Po pierwsze do czego jest przypisana ta metoda? Po drugie nie tutaj. Po trzecie samo setImage powinno wystarczyc.

pozdrawiam
johny

1 użytkowników online, w tym zalogowanych: 0, gości: 1