Problem mit Hintergrund bei JAVA Applet

Status
Nicht offen für weitere Antworten.

lcv

Mitglied
Hallo,
ich habe folgendes Problem. Ich will in einem Java Applet ein Hintergrundbild einfügen.
Irgendwas habe ich aber Falsch.
Hier mein Quelltext.


Java:
import java.awt.*;
import javax.swing.*;

public class Test extends JApplet 
{
    Image bild;

    public void init()
    {
        bild = getImage(getCodeBase(), "bild.jpg");
    }
   
    public void paint(Graphics g)
    {
        g.drawImage(bild,400,400,500,500,this);

    }

}


Wo ist mein Fehler?

Vielen Dank schonmal!

Gruß lcv
 
Zuletzt bearbeitet von einem Moderator:
Nein es kommt leider keine Fehlermeldung. Und normal wenn das Bild nicht geladen werden könnte,müsste ja im Applet auch ein roter Rahmen sein. Aber er übergeht das total. Es wird gar nichts angezeigt.
Vielen Dank für die schnelle antwort.
 
Auch in der Java Console deines Browsers nicht? (im IE6 unter Extras -> Sun Java Console; im FF3.5 finde ich sie gerade nicht)
Wieso sollte da ein roter Rahmen sein? Wir sprechen nicht von einer vom IE angezeigten Page sondern von einer eingebetteten Java App...
 
Also ich hab beim Firefox geschaut. Da gibts den Punkt JAVA Console.
Der ist aber grau deaktiviert. Ich kann die Console quasi gar nicht starten!
Bin noch ganz neu dabei mich mit Applets zu beschäftigen. Deswegen habe ich noch nicht so ganz viel Ahnung davon.

Gibt es denn noch eine andere Möglichkeit ein Bild als Hintergrund im Applet einzufügen?
 
Hast du keinen anderen Browser, in dem es du versuchen kannst? Ansonsten starte das Jar mal über die cmd.exe / Shell.
In Firefox sollte sich mit [ctrl]+[shift]+[o] die Java Console öffnen lassen, zumindest habe ich diesen Eintrag in der Web Developer Toolbar mit jenem Shortcut.
Zum Hintergrundbild: Let me google that for you
 
Jetzt hab ichs hinbekommen! In der Console ist keine Meldung!
Ich könnte echt durchdrehen. Das Bild ist in gleichen Ordner wie die restlichen Dateien!
Hab keine Ahnung was ich falsch machen..
 
Wenn kein Error angezeigt wird, musst du hier wohl oder übel auf einen GUI / Applet Crack warten, da kann ich dir nicht weiterhelfen.
 
Änder doch mal die Koordinaten für das Bild... Oder zieh das Fenster so groß, dass Du das Bild siehst... 😉

400, 400 als Startpunkt ist etwas arg, oder?! Oder vertu ich mich grad mit den Angaben (Zu faul in der API zu schaun)...
 
Hab ich auch gemacht! Ändert aber nix. Ich brauche echt nur ein Applet mit Hintergrundbild drin!

Das muss doch irgendwie gehen oder?
 
Hab ich auch gemacht! Ändert aber nix. Ich brauche echt nur ein Applet mit Hintergrundbild drin!

Das muss doch irgendwie gehen oder?

so:
Java:
import java.awt.*;
import javax.swing.*;
 
public class Test extends JApplet 
{
    Image bild;
 
    public void init()
    {
        bild = getImage(getCodeBase(), "bild.jpg");
    }
   
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);

        g.drawImage(bild,400,400,500,500,this);
 
    }
 
}
 
Zuletzt bearbeitet:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Zebrastreifen Applet</title>
</head>
<body>
<h1>Zebrastreifen Applet</h1>
<hr>
<applet code="Zebrastreifen.class"
width=500
height=500
codebase="."
archive="file:/C:/BlueJ/lib/bluejcore.jar,file:/C:/BlueJ/lib/junit.jar,file:/C:/Users/Lena/Desktop/Zebrastreifen/"
alt="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
>


<param name = "img" value = "bild.jpg">

</applet>
<hr>
</body>
</html>



Ist da was falsch?

hab das <param name = "img" value = "bild.jpg"> hinzugefügt gehabt!

Vielen Dank für die Hilfe
 
Was für ein Fehler kommt denn? 🙂
Oder hast Du wieder keine Ausgabe?
 
Hm. Also habs jetzt mal getestet... Bei mir geht's. Allerdings mit paint und nicht paintComponent...
Und das Bild liegt im selben Ordner wie die Java-Datei?
Kannst Dir ja mal getCodeBase() ausgeben lassen und schaun ob das Bild auch an dieser Stelle liegt...
 
Also das Bild liegt im selben Ordner.
Müsste also gefunden werden. Wie kann ich mir das ausgeben lassen?
 
Probiere mal folgendes:
Java:
import java.awt.*;
import javax.swing.*;

public class TestApplet extends JApplet {
   private Image img;


   public void init() {
      img = getImage(getCodeBase(), "EinBild.jpg");
   }

   public void paint(Graphics g) {
      if(img != null) {
         g.drawImage(img, 0, 0, img.getWidth(this), img.getHeight(this), this);
      }
      else {
         g.drawString("Bild nicht geladen!", 10, 10);
      }
   }
}

HTML:
<html>
<head><title>TestApplet mit Bild</title></head>
<body>
<applet code="TestApplet.class" width="400" height="300">
</applet>
</body>
</html>

Das Bild legst du ins Verzeichnis deiner .class-Datei.
 
Zuletzt bearbeitet:
Also das Bild liegt im selben Ordner.
Müsste also gefunden werden. Wie kann ich mir das ausgeben lassen?

so:


Java:
public class Test extends JApplet {
	Image bild;

	public void init() {
		bild = getImage(Test.class.getResource("bild.jpg"), "bild.jpg");
	}

	public void paint(Graphics g) {
		g.drawImage(bild, 400, 400, 500, 500, this);

	}
}
 
Zuletzt bearbeitet:
setLayout(new FlowLayout());

JLabel l = new JLabel();
Checkbox c1 = new Checkbox("Keine Fussgänger");
add(c1);

Checkbox c2;
c2 = new Checkbox("Ein Fussgänger");
add(c2);

add(new Checkbox("Mehrere Fussgänger"));


Hab aber noch ne andere Frage! Wie mach ich hier bei der Checkbox das man maximal eine option auswählen kann?

Vielen Dank!
 
setLayout(new FlowLayout());

JLabel l = new JLabel();
Checkbox c1 = new Checkbox("Keine Fussgänger");
add(c1);

Checkbox c2;
c2 = new Checkbox("Ein Fussgänger");
add(c2);

add(new Checkbox("Mehrere Fussgänger"));


Hab aber noch ne andere Frage! Wie mach ich hier bei der Checkbox das man maximal eine option auswählen kann?

Vielen Dank!
Dafür verwendet man eigentlich RadioButtons How to Use Buttons, Check Boxes, and Radio Buttons (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)

Ausserdem sollte man AWT (CheckBox) und Swing (JLabel) nicht mischen
 
..
Hab aber noch ne andere Frage! Wie mach ich hier bei der Checkbox das man maximal eine option auswählen kann?

Vielen Dank!

ist jetzt das Problem mit Applet Hintergrund gelöst?? Für Forumleser wäre interressant zu erfahren, ob ein Lösungsvorschlag das Problem gelöst hat!🙂
Für die andere/neue Probleme solltest du einen neuen Thread aufmachen.
 
Ja das Problem ist gelöst. Problem war das Bild selber! Der Code war in Ordnung!
Das Bild hatte eine Auflösung von 4000x3000 Pixel.
Ist mir auch erst später aufgefallen.
Das war dann einfach zu viel!
Danke für die tolle Hilfe.
Gruß
LCV

Achso wir kann man das Thema schließen. Also die Frage schließen??
 
Du klickst auf den Knopf neben Antworten.
unmarked.gif
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben