Hallo zusammen!
Ich habe folgendes Problem:
Ich versuche eine gif-Animation mit Transparenz auf einem jpg-Hintergrund darzustellen.
Kenne mich momentan weder mit AWT noch mit SWING perfekt aus, da dies im Studium erst in den folgenden Wochen drangenommen wird
Bisher habe ich 2 Teillösungen gefunden, die beide jeweils einen Fehler haben.
Die erste Lösung stellt das gif auf dem jpg dar, jedoch wird es nicht animiert...
Die zweite Lösung animiert das gif, jedoch ist das jpg "nicht vorhanden"...
1. Lösung:
2. Lösung:
Könnt ihr mir vllt helfen und sagen, wo bei beidem der Fehler ist?
Sitz da jetzt seit ca 5 Stunden dran und bekomm es nicht hin...
Ich habe folgendes Problem:
Ich versuche eine gif-Animation mit Transparenz auf einem jpg-Hintergrund darzustellen.
Kenne mich momentan weder mit AWT noch mit SWING perfekt aus, da dies im Studium erst in den folgenden Wochen drangenommen wird
Bisher habe ich 2 Teillösungen gefunden, die beide jeweils einen Fehler haben.
Die erste Lösung stellt das gif auf dem jpg dar, jedoch wird es nicht animiert...
Die zweite Lösung animiert das gif, jedoch ist das jpg "nicht vorhanden"...
1. Lösung:
Code:
package test008;
import javax.swing.*;
import java.awt.*;
import java.io.File;
import javax.imageio.*;
import java.awt.image.BufferedImage;
public class Zeichnung extends JFrame {
static BufferedImage img1 = null;
static BufferedImage img2 = null;
public Zeichnung() {
try {
img1 = ImageIO.read(new File("run.gif"));
img2 = ImageIO.read(new File("landschaft.jpg"));
} catch (Exception e) {
System.out.println("error");
}
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(img2, 0, 0, 600, 400, this);
g.drawImage(img1, 200, 200, 400, 105, this);
}
public void paintComponent(Graphics g) {
g.drawImage(img1, 200, 200, 400, 105, this);
}
public static void main(String[] args) {
Zeichnung fenster = new Zeichnung();
fenster.setTitle("Zeichnung");
fenster.setSize(608, 434);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2. Lösung:
Code:
package test006;
import javax.swing.*;
public class Zeichnung extends JFrame {
ZeichenPanel pana;
ZeichenPanel2 panb;
public Zeichnung() {
pana = new ZeichenPanel();
panb = new ZeichenPanel2();
add(panb);
add(pana);
}
public static void main(String[] args) {
Zeichnung fenster = new Zeichnung();
fenster.setTitle("Zeichnung");
fenster.setSize(608, 434);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
package test006;
import javax.swing.*;
import java.awt.*;
public class ZeichenPanel extends JPanel {
public void paintComponent(Graphics g) {
try {
g.clearRect(0, 0, 600, 400);
Color farb = new Color(0, 0, 0, 0);
setBackground(farb);
Image pic = Toolkit.getDefaultToolkit().getImage("run.gif");
g.setColor(farb);
g.drawImage(pic, 200, 200, 400, 105, this);
} catch (Exception e) {
System.out.println("error");
}
}
}
package test006;
import javax.swing.*;
import java.awt.*;
public class ZeichenPanel2 extends JPanel {
public void paintComponent(Graphics g) {
try {
g.clearRect(0, 0, 600, 400);
Color farb = new Color(0, 0, 0, 0);
setBackground(farb);
Image pic2 = Toolkit.getDefaultToolkit().getImage("landschaft.jpg");
g.setColor(farb);
g.drawImage(pic2, 0, 0, 600, 400, this);
} catch (Exception e) {
System.out.println("error");
}
}
}
Könnt ihr mir vllt helfen und sagen, wo bei beidem der Fehler ist?
Sitz da jetzt seit ca 5 Stunden dran und bekomm es nicht hin...