Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Hitergrund nach reload [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Hitergrund nach reload


 
Rolandbar
26-04-2007, 12:09 
 
Hallo,
(Es geht um Java)
Ich habe jetzt 2 Tage damit verbracht, ein Hintergrundbild in JPanel einzubauen. Heute habe ich es geschafft, aber dann habe ich gemerkt, das dass Hintergrundbild erst angezeigt wird, wenn ich ein Reload im Browser mache. Vorher ist der Hintergrund nur so leicht grau.

Das Bild, das im Hintergrund ist, liegt auf meinem lokalen Apache wie auch die Signierte .jar Datei mit der .class Datei drin.

Weiss jemand was ich verändern muss, das dass Hintergrundbild beim ersten anzeigen des Applet's schon angezeigt wird?


import java.awt.*;
import java.net.MalformedURLException;
import javax.swing.*;

/**
*
* @author Rolandbar
*/
public class woemap extends JApplet {
Image img;
Image img2;

public void init()
{
try {
img = java.awt.Toolkit.getDefaultToolkit().getImage(new java.net.URL(getCodeBase().toString()+"map.gif"));
img2 = java.awt.Toolkit.getDefaultToolkit().getImage(new java.net.URL(getCodeBase().toString()+"nichts.gif"));
java.awt.MediaTracker track = new java.awt.MediaTracker(this);
track.addImage(img, 0);
}
catch (MalformedURLException ex) {
System.err.println("Grafik nicht vorhanden!");
return;
}


JPanel panel = new JPanel() {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, 0, 0, null);
g.drawImage(img2, 320, 0, null);
}

};
panel.setLayout(new FlowLayout());

add(panel, BorderLayout.CENTER);
}
}

 
penizillin
26-04-2007, 13:08 
 
sieht gut aus, aber jetzt musst du debuggen. und zwar würde ich an deiner stelle wissen wollen, ob das Image objekt bereits beim ersten aufruf angefordert wird (http sniffer) und bereitsteht (testausgaben). evtl. hast du an dem java.awt.MediaTracker etwas falsch gemacht.

 
Rolandbar
26-04-2007, 13:51 
 
Danke für den Tipp mit dem MediaTracker.
Nachdem ich folgendes nach track.addImage(...); eingefügt hatte, ging es auf einmal.

track.waitForAll(); // warte, bis alle Bilder geladen wurden
if(track.isErrorAny())
{ // mache ausgabe in Konsole für debugging, wenn fehler
System.err.println("Fehler beim laden der Bilder!");
return;
}


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:20 Uhr.