Hintergrundbild im Panel verschwindet sofort

Status
Nicht offen für weitere Antworten.

Hassbrut

Aktives Mitglied
Hab hier sämtliche Beiträge durchgeschaut die hiermit zu tun haben, aber keiner konnte mir weiterhelfen.
Vielleicht seh ich den Wald auch vor lauter Bäumen nicht.

Hier mein Prob:

Code:
import java.awt.Color;
import java.awt.Point;
import javax.swing.*;
import com.touchgraph.graphlayout.*;

public class nodemitbg extends JFrame
{
	
	public nodemitbg() throws TGException
	{
		JFrame frame = new JFrame("Nodetest");

		// Hinzufügen eines Displays:
		ScheissPanel anzeige = new ScheissPanel();
	
		TGLensSet tgls = new TGLensSet(); 
		tgls.addLens(anzeige.getAdjustOriginLens()); 
		anzeige.setLensSet(tgls); 
		
		// Point
		Point p1 = new Point(50,50);
		Point p2 = new Point(130,130);
		
		
		// Anzeigen einer Node
		Node x1 = new Node();
		Node x2 = new Node();
		
		x1.setLocation(p1);
		x1.setLabel("t");
		x1.setFixed(true);
		x1.setType(4);
	
		x2.setLocation(p2);
		x2.setLabel("t2");
		x2.setFixed(true);
		
		// Anzeigen einer Edge
		Edge e1 = new Edge(x1,x2,100);
		
		anzeige.addNode(x1);
		anzeige.addNode(x2);
		anzeige.addEdge(e1);
		//anzeige.setBackColor(new Color(0,0,0));
		frame.getContentPane().add(anzeige);
		
		// Anzeigen des Fensters:
		frame.setSize(600,600);
		frame.setLocation(10,10); 
		frame.setVisible(true);
		
		
	}
}

Soweit so gut, diese nette Prog öffnet einen Frame und zeichnet da in 'nem speziellen Panel gewisse Dinge rein. Es geht hier um Nodes von Touchgraph -> http://www.touchgraph.com/

Jetzt sollen diese Nodes ( siehe http://www.touchgraph.com/ Bild links oben ) aber auf einer Karte liegen, die also ein Hintergrundbild sein soll. Daher folgender Code:

Code:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;

import javax.swing.ImageIcon;
import com.touchgraph.graphlayout.*;

public class ScheissPanel extends TGPanel
{
	Image map;
	
	public void paint( Graphics g ) 
	{
		super.paint(g);
		ImageIcon icon = new ImageIcon("map.JPG");
		map = icon.getImage();
		g.drawImage(map,0,0,this);
	
        repaint();
        update(g);
    }
}

Sprich ich hab die Paint-Methode von TouchGraph überschreiben ( jedenfalls war das meine Absicht *gg* ) damit er in das TGPanel 'nen Bild reinpflanzt.

Beim Ausführen erscheint das Hintergrundbild ganz kurz und wird sofort von den Nodes auf weissen Grund überdeckt.
Ich bin ratlos.
 
R

Roar

Gast
überschreib mal paintComponent anstatt paint. ( und ruf in deiner ü+berschrieben methode dann auch super.paintCOmponent auf und nich paint)
 
B

Beni

Gast
Wenn ich mich recht entsinne, löscht das das ganze Panel...
Code:
update(g);

-> Einfach mal weglassen.

P.S. und ein "repaint" musst du auch nicht in der "paint"-Methode aufrufen. Speichere doch das Bild im RAM:

Code:
public class ImagePanel extends TGPanel
{
   ImageIcon icon;
   public ImagePanel(){
      icon  = new ImageIcon("map.JPG");
   }
   
   public void paint( Graphics g )
   {
      Image map = icon.getImage();
      g.drawImage(map,0,0,this);
    }
}
 

Hassbrut

Aktives Mitglied
Jo thx, aber leider das gleiche Prob wie bisher, Bild wird kurz gezeigt und sofort verdeckt.

Minimiert man den Frame und maximiert ihn wieder, wird das Bild wieder kurz gezeigt und dann überdeckt.

Da es aber anfangs kurz gezeigt wird könnte der Fehler doch eher in der anderen Klasse zu finden sein oder? Ich bin absolut ratlos.
 

Hassbrut

Aktives Mitglied
Hab das hier für Applets gefunden,könnte man das nicht irgendwie hierauf anwenden, es handelt sich immerhin auch um ein TGPanel, nur halt für ein Applet.

Ok, here is the code you are looking for if you haven't figured it out yet.

Add the following to the TGPanel class:

/** Required to get an image from a URL. */
protected Toolkit tk;

/** URL of the background image of the linkbrowser. */
protected URL imageURL;

/** Background image of the linkbrowser. */
protected Image BG_IMAGE;

/** Used to turn background image of the linkbrowser on and off. */
protected boolean bgImageOn = false; //set to On

/** Used to set the background image of the touchgraph panel that is specified by
* the given URL as a String. The URL must be a completely qualified URL.
* @see URL */
public void setBGImage( String url ) {
tk = Toolkit.getDefaultToolkit();
try {
imageURL = new URL(url);
} catch (MalformedURLException e) {
System.out.println("URL Error!");
e.printStackTrace();
}
BG_IMAGE = tk.getImage(imageURL);
BGImageON();
repaint();
}

/** The background image <tt>BG_IMAGE</tt> will be turned on for the background of the touchgraph
* panel if the URL <tt>imageURL</tt> is valid and the Image <tt>BG_IMAGE</tt> exists. */
public void BGImageON() {
if (imageURL == null) System.out.println("Error: No URL to Background!");
if (BG_IMAGE == null) System.out.println("Error: No Background Image Found!");
if ((imageURL != null) && (BG_IMAGE != null)) {
this.bgImageOn = true;
repaint();
}
}

/** Turns off the background image of the touchgraph panel. */
public void BGImageOFF() {
bgImageOn = false;
repaint();
}

/** Convenience method to check to see if the backgroud image is set to display. */
public boolean isBGImageON() { return bgImageOn; }

There you go. Enjoy.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
hdi panel hintergrundbild falsch implementiert ? AWT, Swing, JavaFX & SWT 9
T Hintergrundbild einfügen AWT, Swing, JavaFX & SWT 1
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
R Java, GUI, Hintergrundbild, Image, AWT, Swing, JavaFX & SWT 4
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
snipesss Hintergrundbild in JOptionPane.showInputDialog? AWT, Swing, JavaFX & SWT 4
M Hintergrundbild wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
L [Slick2d] Sidescroller/Hintergrundbild sehr langsam AWT, Swing, JavaFX & SWT 3
O Vollbildmodus mit Hintergrundbild AWT, Swing, JavaFX & SWT 8
A jpanel mit gridbaglayout auf hintergrundbild AWT, Swing, JavaFX & SWT 7
Mr. Pink AWT Anzeigeproblem JPanel/Hintergrundbild AWT, Swing, JavaFX & SWT 1
H Swing Hintergrundbild in einen JFrame einfügen AWT, Swing, JavaFX & SWT 7
T Hintergrundbild in JTextPane fixieren AWT, Swing, JavaFX & SWT 2
M Auf einem Hintergrundbild zeichnen AWT, Swing, JavaFX & SWT 2
SexyPenny90 Hintergrundbild mit Swing AWT, Swing, JavaFX & SWT 3
C Eigenes Hintergrundbild einfügen AWT, Swing, JavaFX & SWT 6
P AWT Hintergrundbild in Hauptframe AWT, Swing, JavaFX & SWT 3
J Hintergrundbild für JFrame AWT, Swing, JavaFX & SWT 6
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
F Hintergrundbild im Frame AWT, Swing, JavaFX & SWT 11
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
N AWT Hintergrundbild AWT, Swing, JavaFX & SWT 2
R 2D-Grafik Hintergrundbild für JFrame AWT, Swing, JavaFX & SWT 4
E JButton mit hintergrundbild AWT, Swing, JavaFX & SWT 4
J Swing Hintergrundbild auf einem JFrame AWT, Swing, JavaFX & SWT 7
G Swing Komponenten dem Hintergrundbild des JPanels anpassen? AWT, Swing, JavaFX & SWT 6
B Wie ein Hintergrundbild einfügen??? AWT, Swing, JavaFX & SWT 18
I JPanel mit Hintergrundbild, setOpaque AWT, Swing, JavaFX & SWT 10
C Label Hintergrundbild mit Text AWT, Swing, JavaFX & SWT 6
S Applet - Aerger mit dem Hintergrundbild - JLabel und JTextfield AWT, Swing, JavaFX & SWT 7
F hintergrundbild für jtable als jscrollpane AWT, Swing, JavaFX & SWT 10
J Hintergrundbild des JFrames lässt Textboxen verschwinden? AWT, Swing, JavaFX & SWT 4
H hintergrundbild fixieren AWT, Swing, JavaFX & SWT 3
N Swing Hintergrundbild in einer JScrollpane AWT, Swing, JavaFX & SWT 2
dl85hej Hintergrundbild AWT, Swing, JavaFX & SWT 2
C JPanel mit Hintergrundbild AWT, Swing, JavaFX & SWT 30
U JList mit Hintergrundbild hinterlegen und noch ne Frage AWT, Swing, JavaFX & SWT 4
C Hintergrundbild ohne Repaint AWT, Swing, JavaFX & SWT 9
G Jpanel mit Hintergrundbild füllen? AWT, Swing, JavaFX & SWT 6
G 2x JPanel im JScrollPane (Hintergrundbild in JScrollPane) AWT, Swing, JavaFX & SWT 9
E JPanel mit Hintergrundbild AWT, Swing, JavaFX & SWT 10
Kidao Das Hintergrundbild überdeckt die Swing-Komponente AWT, Swing, JavaFX & SWT 5
C JdesktopPane Hintergrundbild AWT, Swing, JavaFX & SWT 6
N Hintergrundbild setzen AWT, Swing, JavaFX & SWT 4
L Frame mit Hintergrundbild? AWT, Swing, JavaFX & SWT 4
S JTextPane mit Hintergrundbild AWT, Swing, JavaFX & SWT 9
K Hintergrundbild an JFrame anpassen AWT, Swing, JavaFX & SWT 9
U bewegtes Hintergrundbild AWT, Swing, JavaFX & SWT 2
G Hintergrundbild auf JFrame oder JPanel AWT, Swing, JavaFX & SWT 3
F Text besser lesbar über Hintergrundbild AWT, Swing, JavaFX & SWT 6
G Hintergrundbild für JPanel AWT, Swing, JavaFX & SWT 4
S Hintergrundbild an Größe des JFrames anpassen AWT, Swing, JavaFX & SWT 4
G Problem mit Menü/Button auf Hintergrundbild AWT, Swing, JavaFX & SWT 10
D JTable - Hintergrundbild in Cell AWT, Swing, JavaFX & SWT 6
M Hintergrundbild und grafischer Button (Transparenz Probleme) AWT, Swing, JavaFX & SWT 3
B Problem mit Hintergrundbild AWT, Swing, JavaFX & SWT 12
I Hintergrundbild bei awt container AWT, Swing, JavaFX & SWT 9
E hintergrundbild einfügen!! AWT, Swing, JavaFX & SWT 2
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
CptK Ordentlicher Code & Panel ab bestimmter Komponentenzahl scrollbar machen AWT, Swing, JavaFX & SWT 12
B JTextField in Panel positionieren AWT, Swing, JavaFX & SWT 1
R Swing Panel nur bei Maus sichtbar AWT, Swing, JavaFX & SWT 2
B mit Maus verschiebbares Panel AWT, Swing, JavaFX & SWT 2
S Labels in Panel erstellen AWT, Swing, JavaFX & SWT 1
H Aus Array Container Panel an Tabbedpane zuweisen AWT, Swing, JavaFX & SWT 29
S Swing Panel wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 3
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
CptK Swing DropdownMenu über Panel-Grenzen hinaus anzeigen AWT, Swing, JavaFX & SWT 1
J Aufklappbares Panel in Toolbar AWT, Swing, JavaFX & SWT 6
L ActionListener zu Button in Panel hinzufügen AWT, Swing, JavaFX & SWT 10
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
J Panel auf Frame positionieren AWT, Swing, JavaFX & SWT 9
J JFrame Panel hinzufügen AWT, Swing, JavaFX & SWT 10
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
K Swing Entfernen von Panel funktioniert nicht AWT, Swing, JavaFX & SWT 5
L JavaFX Animation für Panel wechsel AWT, Swing, JavaFX & SWT 3
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
L JavaFX Klickverhalten bei einem Panel AWT, Swing, JavaFX & SWT 1
A Swing Panel mit ScrollBar AWT, Swing, JavaFX & SWT 7
K Panel verdeckt MenuItem AWT, Swing, JavaFX & SWT 5
H zwei gleich große Panels getrennt durch ein weiteres Panel AWT, Swing, JavaFX & SWT 10
N Swing Label auf Panel legen.. AWT, Swing, JavaFX & SWT 2
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
T Swing Graphics auf Panel AWT, Swing, JavaFX & SWT 2
B Swing WindowBuilde: Menu -> anderes Panel wechseln AWT, Swing, JavaFX & SWT 1
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
P AWT Panel überschreibt vorheriges... AWT, Swing, JavaFX & SWT 2
Thallius Swing Warum kann man Texte im Panel nicht markieren? AWT, Swing, JavaFX & SWT 1
S NetBeans, Panel in Frame einfügen AWT, Swing, JavaFX & SWT 3
M AWT Panel wird nicht angezeigt AWT, Swing, JavaFX & SWT 7
P Fenstergröße ändern, Panel soll gleich bleiben AWT, Swing, JavaFX & SWT 2
M JavaFX Slide Panel AWT, Swing, JavaFX & SWT 2
P Swing Panel nicht sichtbar AWT, Swing, JavaFX & SWT 1
M Swing JtextField Panel in ander Panel aufrufen AWT, Swing, JavaFX & SWT 0
M Panel in geerbter JFrame Klasse adden AWT, Swing, JavaFX & SWT 4
S ScrollPane in Textarea und auf Panel AWT, Swing, JavaFX & SWT 4
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
D Panel wird nicht angezeigt und Fragen zum CardLayout AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben