package frameimmagine;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;
import javax.swing.JPanel;
public class MyPanelImmagine extends JPanel implements ImageObserver {
private static final int WIDTH=400;
private static final int HEIGHT=300;
private static final long serialVersionUID = 1L;
private Image immagine;
private int x;
private int y;
public MyPanelImmagine() {
setPreferredSize(new Dimension(WIDTH, HEIGHT));
setBackground(new Color(0xff, 0xff, 0xcc));
x = WIDTH / 2;
y = HEIGHT / 2;
immagine = Toolkit.getDefaultToolkit().getImage("palla.png");
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(immagine, x - immagine.getWidth(this) / 2,
y - immagine.getHeight(this) / 2, this);
}
public void eseguiAzione1() {
if (x > immagine.getWidth(this) / 2 &&
y > immagine.getHeight(this) / 2) {
x--;
y--;
}
repaint();
}
public void eseguiAzione2() {
if (x < WIDTH - immagine.getWidth(this) / 2 &&
y < HEIGHT - immagine.getHeight(this) / 2) {
x++;
y++;
}
repaint();
}
@Override
public boolean imageUpdate(Image arg0, int infoFlags, int x, int y,
int width, int heignt) {
repaint();
return (infoFlags & ALLBITS) != ALLBITS;
}
}