con questo codice i jbutton non funzionano..
questo è il cod:
codice:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.ImageObserver;
import javax.swing.*;
public class GifAnimata extends JFrame {
ImageIcon img;
Image animation;
Immagine currentAnimation = new Immagine();
JFrame frame = new JFrame("prova Animazione");
JButton buttonPause = new JButton("Pause");
JButton buttonPlay = new JButton("Play");
JButton buttonImage1 = new JButton("Image1");
JButton buttonImage2 = new JButton("Image2");
Timer timer;
JScrollPane scroll = new JScrollPane();
public GifAnimata() {
prova();
}
public void prova() {
JPanel p = new JPanel();
p.add(buttonPlay);
buttonPlay.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
timer.start();
}
});
p.add(buttonPause);
buttonPause.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
timer.stop();
}
});
p.add(buttonImage1);
buttonImage1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
img = new ImageIcon("c://db/testi/moda.jpg");
animation = img.getImage();
prepareImage(animation,this);
currentAnimation.setX(10);
currentAnimation.setY(+250);
timer = new Timer(50, new ActionListener() {
public void actionPerformed(ActionEvent ae) {
currentAnimation.setY(currentAnimation.getY() - 1);
scroll.repaint();
}
});
}
private void prepareImage(Image animation,
ActionListener actionListener) {
// TODO Auto-generated method stub
currentAnimation.setY(currentAnimation.getY() - 1);
panel.repaint();
}
});
p.add(buttonImage2);
buttonImage2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
img = new ImageIcon("c://db/testi/grignani.jpg");
animation = img.getImage();
prepareImage(animation, this);
currentAnimation.setX(10);
currentAnimation.setY(+250);
timer = new Timer(200, new ActionListener() {
public void actionPerformed(ActionEvent ae) {
currentAnimation.setY(currentAnimation.getY() - 1);
scroll.repaint();
}
});
}
private void prepareImage(Image animation,
ActionListener actionListener) {
// TODO Auto-generated method stub
currentAnimation.setY(currentAnimation.getY() - 1);
panel.repaint();
}
});
frame.setTitle("Gif Animata");
frame.setSize(1100, 720);
panel.add(new JLabel(img));
JScrollPane scrollPane = new JScrollPane(panel);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.add(p, BorderLayout.NORTH);
frame.setLocationRelativeTo( null );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setVisible( true );
}
JPanel panel = new JPanel() {
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g.setColor(Color.WHITE);
g.fillRect(0, 0, 1100, 720);
g2d.drawImage(animation, currentAnimation.getX(), currentAnimation.getY(), this);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}
};
public static void main(String[] args) {
GifAnimata ga = new GifAnimata();
}
}
class Immagine {
/*
* Simple Object class to store the ball's co-ordinates.
*/
private int x;
private int y;
Immagine() {
;
}
public int getX() {
return x;
}
public void setX(int x2) {
x = x2;
}
public int getY() {
return y;
}
public void setY(int y2) {
y = y2;
}
}
come mai???