Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield

SenselessOne

Mitglied
Seid gegruesst, bin eben frisch in euer Forum eingetreten. (nicht wunderen, ich bin derzeitig gezwungen auf einer englischen Tastatur zuschreiben, und habe gerade keine Lust das umzustellen :D)

Ok, zu meinem Problem:

Ich schreibe derzeitig an einem kleinen JApplett, nix grosses ein einfacher Calculator.
Dieser soll spaeter auf einer Website platziert werden. Und sollte sich daher in das Layout einfuegen.

Mit Hilfe der Methode
Java:
public void paint(Graphics g){}
habe ich daher ein Hintergrundbild eingefuegt. Und damit begannen meine Probleme...

... das Hintergrundbild schiebt sich vor meine JLabels und JFormattedTextFields. Die JFormattedTextField werden durch das anklicken wieder sichtbar, jedoch nur solange, bis die anwendung minimiert und wieder maximiert wuerd. Die JLabels sind und bleiben verschollen.

Bei meiner Suche nach dem Fehler sind mir folgende Dinge aufgefallen:

Wenn ich anstatt von JLabels und JFormattedTextFields, Labels und TextFields verwende, sind diese immer im Vordergrund.
Fuer die Labels waere es ja ein Option. Das neue Probelm, was dadurch jedoch entsteht, ist das die Label einen eigenen Hintergrund haben und nicht das Hintergrundbild...

Ich hoffe ihr koennt mir helfen...

SenselessOne
 

SenselessOne

Mitglied
ok, hier kommt der Quelltext, gekuerzt:

Java:
public class Calculator extends JApplet implements ActionListener, KeyListener, FocusListener{

// diverse Declarationen

Image bgImage = null;
	
	
	public void init()
	  {
		
		try { 
		      MediaTracker tracker = new MediaTracker (this);
		      bgImage = getImage
		        (new URL(getCodeBase(), getParameter("bgImage"))); 
		      tracker.addImage (bgImage, 0);
		      tracker.waitForAll();
		   }
		   catch (Exception e) { 
		      e.printStackTrace();
		      try { 
			      MediaTracker tracker = new MediaTracker (this);
			      bgImage = getImage
			        (new URL("http://localhost/background.jpg")); 
			      tracker.addImage (bgImage, 0);
			      tracker.waitForAll();
			   }
			   catch (Exception f) { 
			      f.printStackTrace();
			   }
		   }
        setLayout(null);
		setSize(430, 500);

                //einplfegen aller Componenten

          }

    public void update( Graphics g) { 
		   paint(g); 
		  } 

	public void paint(Graphics g) { 
		   if(bgImage != null) { 
		      int x = 0, y = 0; 
		      while(y < size().height) { 
		         x = 0; 
		         while(x< size().width) { 
		            g.drawImage(bgImage, x, y, this); 
		            x=x+bgImage.getWidth(null); 
		            } 
		         y=y+bgImage.getHeight(null); 
		      } 
		   } 
		   else {
		      g.clearRect(0, 0, size().width, size().height); 
		   } 
		  } 

}
 

Ebenius

Top Contributor
Niemals die paint-Methode eines JFrames, JWindows, JApplets, JDialogs überschreiben. Einfach ein anderes ContentPane drauf und dessen paintComponent(…) überschreiben. In etwa:
Java:
public class Calculator extends JApplet
  implements ActionListener, KeyListener, FocusListener {

  // diverse Declarationen

  Image bgImage = null;

  public void init() {
    setContentPane(new MyContentPane());
    try {
      MediaTracker tracker = new MediaTracker(this);
      bgImage = getImage(new URL(getCodeBase(), getParameter("bgImage")));
      tracker.addImage(bgImage, 0);
      tracker.waitForAll();
    } catch (Exception e) {
      e.printStackTrace();
      try {
        MediaTracker tracker = new MediaTracker(this);
        bgImage = getImage(new URL("http://localhost/background.jpg"));
        tracker.addImage(bgImage, 0);
        tracker.waitForAll();
      } catch (Exception f) {
        f.printStackTrace();
      }
    }
    setLayout(null);
    setSize(430, 500);

    // einplfegen aller Componenten

  }

  private class MyContentPane extends JPanel {

    /** Serial version UID */
    private static final long serialVersionUID = 1L;

    @Override
    protected void paintComponent(Graphics g) {
      super.paintComponent(g);
      if (bgImage != null) {
        int x = 0, y = 0;
        while (y < size().height) {
          x = 0;
          while (x < size().width) {
            g.drawImage(bgImage, x, y, this);
            x = x + bgImage.getWidth(null);
          }
          y = y + bgImage.getHeight(null);
        }
      } else {
        g.clearRect(0, 0, size().width, size().height);
      }
    }
  }
}
Ebenius
 

SenselessOne

Mitglied
Funktioniert leider nicht :(

und laesst sich auf normalen wege nicht mehr beenden, da sich die Anwendung selber irgendwo hochschauckelt... naja, ein hoch auf den taskmgr :D

jetzt sieht es so aus:
 

Anhänge

  • failrf.jpg
    failrf.jpg
    74,6 KB · Aufrufe: 36
Zuletzt bearbeitet:

Ebenius

Top Contributor
Bei mir funktioniert der Teil des Codes den ich hab. Postest Du mal den ganzen Quelltext? Oder willst Du selber herumspielen?

Ebenius
 

SenselessOne

Mitglied
???:L ich glaub mein eclipse spinnt... oder zumindest der Applet-Viewer...
Hab die .java jetzt einfach mal per javac in eine .class umgewandelt... und siehe da, es laesst sich alles fehlerfrei Aufrufen...

Kurzum: Danke Ebenius, nun klappt alles :toll:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Grafikformat für AWT-Applet? AWT, Swing, JavaFX & SWT 0
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
C Applet Applet funktioniert in Eclipse aber nicht in Browser AWT, Swing, JavaFX & SWT 1
S Sandboxed Applet weiterhin moeglich..? AWT, Swing, JavaFX & SWT 5
S Oracle's neue Sicherheitseinstellungen zerstoeren mein Applet. Was tun? AWT, Swing, JavaFX & SWT 3
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
U CardLayout im Applet AWT, Swing, JavaFX & SWT 4
J Applet Applet Vererbung/Überladen AWT, Swing, JavaFX & SWT 5
G JavaFX mit ANT deployen als Applet AWT, Swing, JavaFX & SWT 3
S Applet Application 2 applet AWT, Swing, JavaFX & SWT 3
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
T Signiertes Applet Urheber angeben AWT, Swing, JavaFX & SWT 5
S Applet Repaint AWT, Swing, JavaFX & SWT 3
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Applet mit Bildern AWT, Swing, JavaFX & SWT 2
T Applet in JSP einbinden AWT, Swing, JavaFX & SWT 4
R MouseEvent.getX() liefert in Applet Screen-Koordinate AWT, Swing, JavaFX & SWT 2
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
A Applet Applet vom Web-Server aus aufrufen AWT, Swing, JavaFX & SWT 11
A Applet Applet startet nicht AWT, Swing, JavaFX & SWT 2
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
B Applet Aus Applet signiertes jar mit externen libs erstellen AWT, Swing, JavaFX & SWT 9
S JDialog über Applet AWT, Swing, JavaFX & SWT 3
M Warum funktioniert mein Applet nicht? AWT, Swing, JavaFX & SWT 6
D Applet hintergrund wird nicht weiß AWT, Swing, JavaFX & SWT 2
R Applet JavaScript Methodenaufruf AWT, Swing, JavaFX & SWT 2
A Applet Animiertes gif in awt applet anzeigen AWT, Swing, JavaFX & SWT 11
X Applet Java Applet Datei Ausführung AWT, Swing, JavaFX & SWT 9
A Applet .gif in applet Image nicht animiert angezeigt AWT, Swing, JavaFX & SWT 4
A Applet Applet aus Code neu starten AWT, Swing, JavaFX & SWT 2
K Applet erkennt keine Frameverkleinerung AWT, Swing, JavaFX & SWT 5
S Applet funktioniert nach Browserreload nicht richtig AWT, Swing, JavaFX & SWT 2
T Applet Applet vs. WebStart AWT, Swing, JavaFX & SWT 4
S Applet starten AWT, Swing, JavaFX & SWT 4
K JTable im Browser nicht zu sehen - Applet AWT, Swing, JavaFX & SWT 6
B Applet Button oder Toolbar in einem Applet AWT, Swing, JavaFX & SWT 5
V Applet mit Bildbearbeitung AWT, Swing, JavaFX & SWT 3
V Applet Applet starten schlägt fehl AWT, Swing, JavaFX & SWT 2
W Button in Applet AWT, Swing, JavaFX & SWT 9
kniffel GUI-Applet JTable füllt Hintergrund völlig aus AWT, Swing, JavaFX & SWT 4
J Applet Java-Applet friert mit Firefox ein AWT, Swing, JavaFX & SWT 8
J Applet Tetris flackert AWT, Swing, JavaFX & SWT 9
F Applet Applet starten...(+Timer?) AWT, Swing, JavaFX & SWT 12
S [JAVA] JFrame in Applet/JApplet AWT, Swing, JavaFX & SWT 14
D Applet Applet das auf fremden Libraries basiert einbinden? AWT, Swing, JavaFX & SWT 20
M Applet wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
M JMenuBar im Applet und paint AWT, Swing, JavaFX & SWT 9
E Applet Neuen Tab aus Applet öffnen AWT, Swing, JavaFX & SWT 3
G Applet, Link ermitteln, dem der Benutzer gefolgt ist AWT, Swing, JavaFX & SWT 2
K Email versenden ueber Applet AWT, Swing, JavaFX & SWT 11
S Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 6
S Button aktivieren (Applet) AWT, Swing, JavaFX & SWT 2
3 Applet Applet zeigt nur weiße Fläche AWT, Swing, JavaFX & SWT 15
B 2 Probleme (JFrame & Applet) AWT, Swing, JavaFX & SWT 7
A Programmieren einer Agenda mit einer Liste (als Applet und .txt zum Speichern) AWT, Swing, JavaFX & SWT 7
H applet Methode aus abstrakter Klasse aufrufen AWT, Swing, JavaFX & SWT 12
H Applet - Hilfedateien im Browser öffnen / eine Webseite laden AWT, Swing, JavaFX & SWT 6
O JPanel aus Applet starten AWT, Swing, JavaFX & SWT 3
O Applet-Steuerung mit Tastaturbefehlen AWT, Swing, JavaFX & SWT 3
F 4-Gewinnt als Applet AWT, Swing, JavaFX & SWT 24
F Applet vs Stand-Alone-Client AWT, Swing, JavaFX & SWT 3
B AWT Bild als Hintergrund im Applet AWT, Swing, JavaFX & SWT 2
D Probleme mit MouseWheelListener und JLayeredPane in Applet AWT, Swing, JavaFX & SWT 2
G Applet und Swing Anwendung AWT, Swing, JavaFX & SWT 2
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
R for-Schleife in Applet ausgeben AWT, Swing, JavaFX & SWT 3
S Bild wird auf Canvas in Applet nicht gezeichnet AWT, Swing, JavaFX & SWT 4
W Swing heapsort + Applet AWT, Swing, JavaFX & SWT 4
P Diagramm in einem Applet zeichnen AWT, Swing, JavaFX & SWT 4
M Java Applet JTable/JList AWT, Swing, JavaFX & SWT 6
L Einfache Layout Frage für Applet -> Was mache ich bloss falsch? AWT, Swing, JavaFX & SWT 2
K Alternative zu Applet mit HTML-Einbindung AWT, Swing, JavaFX & SWT 11
J Java-Applet beenden AWT, Swing, JavaFX & SWT 3
R Applet aus JFrame starten AWT, Swing, JavaFX & SWT 2
T Konfiguration speichern in Applet AWT, Swing, JavaFX & SWT 2
P Swing Roter Faden beim Applet GUI Programmieren AWT, Swing, JavaFX & SWT 2
T HTML Seite neu laden mittels Applet AWT, Swing, JavaFX & SWT 2
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
T Java Applet beenden AWT, Swing, JavaFX & SWT 2
M Swing Butten & TextFields aus Applet im JFrame nicht sichtbar AWT, Swing, JavaFX & SWT 2
I Swing .Jar Datei - funktioniert - nun als Applet AWT, Swing, JavaFX & SWT 13
S Applet mit Graphics dynamisch vergrößern AWT, Swing, JavaFX & SWT 3
M AWT text im applet formatieren AWT, Swing, JavaFX & SWT 5
L Applet Frage AWT, Swing, JavaFX & SWT 25
1 Verständnisprobleme bei Java Applet AWT, Swing, JavaFX & SWT 13
B Unterschied JFrame/Applet AWT, Swing, JavaFX & SWT 12
T [Applet] startet in Eclipse aber nicht im Browser AWT, Swing, JavaFX & SWT 2
G JSlider in Applet AWT, Swing, JavaFX & SWT 4
P Swing Applet AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
A Applet kommt offline nicht mit FileReader zurecht AWT, Swing, JavaFX & SWT 3
F Applet und Popup AWT, Swing, JavaFX & SWT 4
G Wie startet man ein Applet ? AWT, Swing, JavaFX & SWT 4
R Ein Applet von einem Applet öffnen lassen AWT, Swing, JavaFX & SWT 2
Z Applet ausblenden AWT, Swing, JavaFX & SWT 5
G JList wird in einem Applet nur teilweise aktualisiert AWT, Swing, JavaFX & SWT 12
P Applet darstellung von Textfeldern Problem AWT, Swing, JavaFX & SWT 3
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben