bekomme Bild nicht eingefügt

Status
Nicht offen für weitere Antworten.
Hallo Leute.
Habe mich vor ner Woche mal an Java rangesetzt.

Leider bekomme ich es nicht hin, ein Bild einzufügen.
Habe sämtliches Versucht. Entweder passierte nichts, nichts an Inhalt wurde ausgegeben oder ich bekam lauter fehler....

Vielleicht könnte mir einer von Euch auf die Sprünge helfen.

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

//Event brauchen wir für das Ereigniss, wenn ein Button geklickt wird
import java.awt.event.*;

public class FirstGUI extends JFrame
{
    /**
	 * 
	 */
	private static final long serialVersionUID = -1977237589260932589L;
	private JButton button1;
    private JButton button2;
    private JButton button3;
    private JButton button4;
    private JButton button5;
    private JPanel panelButton;
    private JLabel oben;
    private JLabel anzeige;


    public FirstGUI()
    {
    	JFrame f = new JFrame("Wetter Generator v0.1");
		f.setSize(800,600);
		f.setLocation(100,100);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.getContentPane().setLayout(new BorderLayout(5,5));
		f.setVisible(true);

        //Buttons erzeugen
        button1 = new JButton("Winter");
        	button1.setSize(100,100);
        button2 = new JButton("Frühling");
        	button2.setSize(100,100);
        button3 = new JButton("Sommer");
        	button3.setSize(100,100);
        button4 = new JButton("Herbst");
        	button4.setSize(100,100);
        button5 = new JButton("Info");
       

        //Panels erzeugen
        panelButton = new JPanel(new GridLayout(12,1));
        

        //Auf Panel Buttons packen
        panelButton.add(button1);
        panelButton.add(button2);
        panelButton.add(button3);
        panelButton.add(button4);
        panelButton.add(button5);

        //Listener für Buttons
        addButtonListener(button1);
        addButtonListener(button2);
        addButtonListener(button3);
        addButtonListener(button4);
        addButtonListener(button5);

       
        //Bild objekt erzeugen (header.gif liegt im Verzeichnis in dem auch die FirstGUI.java liegt.
        ImageIcon bild = new ImageIcon ("header.gif");
            
        //Labels erzeugen
       oben = new JLabel( bild);
        //Label zentrieren
        oben.setHorizontalAlignment(JLabel.CENTER); 
        
        anzeige = new JLabel("Wähle eine Jahreszeit");
        anzeige.setHorizontalAlignment(JLabel.CENTER); 

        //Labels auf Frame packen
        f.getContentPane().add(BorderLayout.NORTH, oben);
        f.getContentPane().add(anzeige);

        //Panels auf Frame packen 
        f.getContentPane().add(BorderLayout.WEST, panelButton);
        
    }

    public static void main(String[] args)
    {
        FirstGUI g = new FirstGUI();
    }

    private void addButtonListener(JButton b)
    {
        b.addActionListener(new ActionListener()
        { 
            public void actionPerformed(ActionEvent ae) 
            { 
               eingabe(ae.getActionCommand());
            	            		
            }
        });
    }

    private void eingabe(String a)
    {
    	
    	if (a == "Sommer"){
    		anzeige.setText("Sommer");
    	}else if(a == "Winter"){
    		anzeige.setText("Winter");
    	}else if(a == "Frühling"){
    		anzeige.setText("Frühling");
    	}else if(a == "Herbst"){
    		anzeige.setText("Herbst");
    	}else if(a == "Info"){
    		anzeige.setText("Info");
    	}else{
    		anzeige.setText("Diese Jahreszeit gibt es nicht");
    	}
    	
        //anzeige.setText(a);
     }    
   
        
}
 

Quaxli

Top Contributor
Frage:

//Bild objekt erzeugen (header.gif liegt im Verzeichnis in dem auch die FirstGUI.java liegt.

Ist es auch das Verzeichnis, in dem die Class-Dateien liegen? Das wäre wichtiger.
Ansonsten setze mal den Befehl

Code:
f.setVisible(true);

ans Ende Deines Konstruktors. Oder mache ganz zum Schluß nochmal ein f.repaint(). Das Versetzen von setVisible wäre aber "richtiger".
 

GRudiD

Aktives Mitglied
Versuchs mal mit:
Code:
public FirstGUI()
    {
      super("Wetter Generator v0.1"); 
// super(...) ruft den Konstruktor mit den übergebenen Argumenten der Elternklasse auf
// in dem Fall wie new JFrame(...)
      this.setSize(800,600);
// this.methode greift auf die Methode der geerbten Klasse zu
      this.setLocationRelativeTo(null); // zentriert das Fenster auf dem Desktop
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.getContentPane().setLayout(new BorderLayout(5,5));
...
      //Labels auf Frame packen
      this.getContentPane().add(oben, BorderLayout.NORTH);
      this.getContentPane().add(anzeige, BorderLayout.CENTER);

      //Panels auf Frame packen
      this.getContentPane().add(panelButton, BorderLayout.WEST);
...

  • Du extenzierst in FirstGUI ein JFrame (FirstGUI extends JFrame) und erzeugst im Konstruktor ein weiteren JFrame f. Entweder oder. Du kannst die Klasse direkt ändern/erweitern, von der du mittels extends erbst und brauchst sie nicht nochmals erzeugen. Auf Methoden der Elternklasse greifst du mittels this.??? zu.
  • Die Reihenfolge der Argumente in getContentPane().add() lautet add(Component comp, Object constraints). Also erst die Komponente und dann die Angabe, wo sie hin soll.
  • Wenn du möchtest kannst du JFrame.getContentPane().add(...) durch JFrame.add(...) ersetzen. Hat keine Vorteil, spart aber Code.
 
Danke erstmal.
Nun taucht alles auf, was verschwunden war..

das Bild allerdings noch immer nicht.

Bild liegt einmal als jpg und als gif vor.
Liegt einmal im Ordner der .java dTei wie auch im Ordner der .class datein.
Ich nutze Eclipse.


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

//Event brauchen wir für das Ereigniss, wenn ein Button geklickt wird
import java.awt.event.*;

public class FirstGUI extends JFrame
{
    /**
	 * 
	 */
	private static final long serialVersionUID = -1977237589260932589L;
	private JButton button1;
    private JButton button2;
    private JButton button3;
    private JButton button4;
    private JButton button5;
    private JPanel panelButton;
    private JLabel oben;
    private JLabel anzeige;


    public FirstGUI()
    {
    	super("Wetter Generator v0.1");
    	// super(...) ruft den Konstruktor mit den übergebenen Argumenten der Elternklasse auf
    	// in dem Fall wie new JFrame(...)
    	      this.setSize(800,600);
    	// this.methode greift auf die Methode der geerbten Klasse zu
    	      this.setLocationRelativeTo(null); // zentriert das Fenster auf dem Desktop
    	      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	      this.getContentPane().setLayout(new BorderLayout(5,5));

        //Buttons erzeugen
        button1 = new JButton("Winter");
        	button1.setSize(100,100);
        button2 = new JButton("Frühling");
        	button2.setSize(100,100);
        button3 = new JButton("Sommer");
        	button3.setSize(100,100);
        button4 = new JButton("Herbst");
        	button4.setSize(100,100);
        button5 = new JButton("Info");
       

        //Panels erzeugen
        panelButton = new JPanel(new GridLayout(12,1));
        

        //Auf Panel Buttons packen
        panelButton.add(button1);
        panelButton.add(button2);
        panelButton.add(button3);
        panelButton.add(button4);
        panelButton.add(button5);

        //Listener für Buttons
        addButtonListener(button1);
        addButtonListener(button2);
        addButtonListener(button3);
        addButtonListener(button4);
        addButtonListener(button5);

        ImageIcon bild = new ImageIcon ("header.gif");
            
        //Labels erzeugen
       oben = new JLabel(bild);
        //Label zentrieren
        oben.setHorizontalAlignment(JLabel.CENTER); 
        
        anzeige = new JLabel("Wähle eine Jahreszeit");
        anzeige.setHorizontalAlignment(JLabel.CENTER); 

      //Labels auf Frame packen
        this.add(oben, BorderLayout.NORTH);
        this.add(anzeige, BorderLayout.CENTER);

        //Panels auf Frame packen
        this.add(panelButton, BorderLayout.WEST); 
        this.setVisible(true); 
    }

    public static void main(String[] args)
    {
        FirstGUI g = new FirstGUI();
    }

    private void addButtonListener(JButton b)
    {
        b.addActionListener(new ActionListener()
        { 
            public void actionPerformed(ActionEvent ae) 
            { 
               eingabe(ae.getActionCommand());
            	            		
            }
        });
    }

    private void eingabe(String a)
    {
    	
    	if (a == "Sommer"){
    		anzeige.setText("Sommer");
    	}else if(a == "Winter"){
    		anzeige.setText("Winter");
    	}else if(a == "Frühling"){
    		anzeige.setText("Frühling");
    	}else if(a == "Herbst"){
    		anzeige.setText("Herbst");
    	}else if(a == "Info"){
    		anzeige.setText("Info");
    	}else{
    		anzeige.setText("Diese Jahreszeit gibt es nicht");
    	}
    	
        //anzeige.setText(a);
     }    
   
        
}
 
Habe es nun so versucht aber auch das klappt nicht. bekomme nur n Bildplatzhalter, als ob das Bild nicht da wäre.

Code:
//Labels erzeugen
        oben = new JLabel("<html><center>[b]Wetter Generator
" +
        		"by Timo Frenzel[/b]
" +
        		"<img src=\"header.gif\">" +
        		"</center></html>");
 

GRudiD

Aktives Mitglied
Also bei mir funktioniert dein Code ohne Probleme. Hast du die header.gif im gleichen Verzeichnis wie die FirstGUI.class? Kannst du die gif-Datei mit einem Paint o.ä. korrekt anzeigen lassen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
radiac Wieso bekomme ich kein Bild drauf??? Java Basics - Anfänger-Themen 13
M Wie bekomme ich einen Bild in einem JPaneln inden background Java Basics - Anfänger-Themen 3
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
DrahtEck Warum bekomme ich ein "minus" ausgegeben Java Basics - Anfänger-Themen 2
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
M Was muss ich verändern damit ich es so ausgegeben bekomme wie auf dem Foto? Java Basics - Anfänger-Themen 2
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
L Wie vergrößere ich ein Rechteck in alle Richtungen um eins und bekomme dessen Rand? Java Basics - Anfänger-Themen 2
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
Henri run und bekomme ich nichts Java Basics - Anfänger-Themen 12
D OOP Warum bekomme ich eine Null-Pointer Exception!!? :( Java Basics - Anfänger-Themen 4
A Wie bekomme ich zwei Strings in eine ArrayList Java Basics - Anfänger-Themen 4
U Wie bekomme ich bei der Ausgabe das erste Komma weg Java Basics - Anfänger-Themen 8
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
Thallius Wie bekomme ich den Country code Java Basics - Anfänger-Themen 4
T Klassen wie funktionieren Streams, warum bekomme ich int zurück? Java Basics - Anfänger-Themen 2
D Wie bekomme ich meine Ausgabe in Form von "2^x" hin? Java Basics - Anfänger-Themen 1
G Wie bekomme ich alle Ausgaben von runTime.exec() Java Basics - Anfänger-Themen 7
J Compiler-Fehler Warum bekomme ich fehler angezeigt?? Java Basics - Anfänger-Themen 3
G Variablen Warum bekomme ich da eine Fehlermeldung? Java Basics - Anfänger-Themen 3
X Ich bekomme die Java Communications Api nicht installiert Java Basics - Anfänger-Themen 9
S Bei double Methode bekomme ich Infinity Java Basics - Anfänger-Themen 2
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
El_Lobo Threads bekomme Thread nicht abgewürgt mit interrupted() Java Basics - Anfänger-Themen 3
W wie bekomme ich die .class Dateien ausgelesen Java Basics - Anfänger-Themen 11
sylo Bekomme Thread nicht gleichzeitig gestartet. Java Basics - Anfänger-Themen 12
N Reguläre Ausdrücke - bekomme Suchkriterium nicht hin Java Basics - Anfänger-Themen 3
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
T Mehr Anfänger geht nicht - Wie bekomme ich das zum laufen! Java Basics - Anfänger-Themen 6
G Woher bekomme ich passende .jar-Archive Java Basics - Anfänger-Themen 8
D Bekomme das nicht hin (set / get Methoden) Java Basics - Anfänger-Themen 22
F Wie bekomme ich mein "Fenster"? Java Basics - Anfänger-Themen 3
A Eine Javaaufgabe die ich nicht auf die Reihe bekomme. Java Basics - Anfänger-Themen 7
S Warum bekomme ich diese Exception ? Java Basics - Anfänger-Themen 3
J bekomme keine ausgabe! Java Basics - Anfänger-Themen 40
P wie bekomme ich ein array in eine string variable Java Basics - Anfänger-Themen 11
S Bekomme Keine Ausgabe Java Basics - Anfänger-Themen 9
T Bekomme es nicht hin Java Basics - Anfänger-Themen 10
T Bekomme Fehler mit Bubblesort Java Basics - Anfänger-Themen 2
E Wo bekomme ich das javax.swing.* package her? Java Basics - Anfänger-Themen 3
M Bekomme Programm nicht zum laufen HILFEEEE! Java Basics - Anfänger-Themen 28
L Bekomme ständig eine ArrayOutBoundsException Java Basics - Anfänger-Themen 4
G wie bekomme ich das javax.jws.* package in den JBuilder ? Java Basics - Anfänger-Themen 7
R Woher bekomme ich das aktuelle Jahr oder auch Datum? Java Basics - Anfänger-Themen 4
E Wie bekomme ich -Xmx512m in JAR-Datei Java Basics - Anfänger-Themen 13
E bekomme was vom Typ Object -> und nu? Java Basics - Anfänger-Themen 6
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
H Warum bekomme ich einenen noclassdeffounderror ? [erledigt] Java Basics - Anfänger-Themen 7
P File Object, wie bekomme ich den Datei Typ Java Basics - Anfänger-Themen 6
I Wie bekomme ich diesen Fehler weg? Java Basics - Anfänger-Themen 5
megachucky Woher bekomme ich Java (außer aus dem netz) ? Java Basics - Anfänger-Themen 12
8 Wie bekomme ich einen Thread angehalten der blokiert ist? Java Basics - Anfänger-Themen 8
G Problem mit JPanel, bekomme keine Anzeige! Java Basics - Anfänger-Themen 4
S Wie bekomme ich absolute Werte (Betrag einer Zahl)? Java Basics - Anfänger-Themen 5
B 4 double Werte sind gegeben - wie bekomme ich den größten? Java Basics - Anfänger-Themen 8
S Bekomme Fehlermeldungen nicht weg ! :-| Java Basics - Anfänger-Themen 5
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
krgewb Bild itextpdf Java Basics - Anfänger-Themen 2
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
VPChief Bild in JEditorPane Java Basics - Anfänger-Themen 9
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
N Bild drehen Java Basics - Anfänger-Themen 3
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
N GLOOP Bild nicht ansichtbar Java Basics - Anfänger-Themen 5
M Bild in JFrame Java Basics - Anfänger-Themen 1
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 17
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 1
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
S Bild über JButton legen Java Basics - Anfänger-Themen 3
B Bild mit Schrift befüllen / Anpassung bei Wortlänge Java Basics - Anfänger-Themen 2
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
D ImageView mit einfarbigem Bild fuellen Java Basics - Anfänger-Themen 3
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
B Greenscreen (grüner Hintergrund ersetzen mit Bild) Java Basics - Anfänger-Themen 49
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben