Grafik einbinden

swany

Mitglied
Hallo,

PHP:
  ImageIcon icon = new ImageIcon("spielfigur-orange.gif");
        JLabel label1 = new JLabel(icon);
        JPanel p = new JPanel();
        label1.setLocation(10,10);
        label1.setSize(50,50);
        p.add(label1);

was ist daran falsch? irgendwie erscheint die Grafik nicht....
Ich habe die Grafik in dem gleichen ordner wie die klasse. ist das richtig?
 
Versuch es mal mit einer JPG- oder einer PNG-Datei.
Was passiert den ohne "setLocation" & "setSize". Adde das Panel einfach nur in die Componente.
 
mit png und jpg erschein auch kein Bild *wunder*
und wenn ich "setLocation" & "setSize". weg lasse, passiert ebenfalls nichts....
 
was ist daran falsch? irgendwie erscheint die Grafik nicht....
Ich habe die Grafik in dem gleichen ordner wie die klasse. ist das richtig?

Wenn du als Package z.B de.swany.grafik hast und dort auch das Bild liegt, dann wird die Applikation im Verzeichnis darüber ausgeführt, also wenn dein Pfad ist src\de\swany\... dann ist das Vezeichnis src. Um an dein Bild zu kommen, musst du dann folgendes machen:
Java:
ImageIcon icon = new ImageIcon(this.gehtClass.getResource("/de/swany/grafik/spielfigur-orange.gif")

Ciao
DosCoder
 
Moin,

ich pass nur mal Deinen Code richtig an, DosCoder ;-)

Java:
ImageIcon icon = new ImageIcon(this.getClass().getResource("/de/swany/grafik/spielfigur-orange.gif");

Gruß,
Xan
 
Vielen Dank, ich hab' nur nicht genau nachgedacht und einfach den Code in die Tastan gepfeffert und da gehen halt mal Klammern und Satzzeichen verloren. Sorry.
Ciao
DosCoder
 
Also irgendwie scheine ich echt zu blöd dafür zu sein.... es funktioniert nicht.... :(

PHP:
import package test.grafik;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JLabel.*;

/**
 *
 * @author Swantje
 */
public class Eingabe
    extends Frame{
    
    public Eingabe(){
        
        setLayout(null);
        Label nameLabel = new Label ("Wähle die Anzahl an Spielern:");        
        nameLabel.setLocation(50,50);
        nameLabel.setSize(200,20);
        add(nameLabel);
        setBackground(new Color(251, 250, 250)); 
        
        ImageIcon icon = new ImageIcon(this.getClass().getResource("/test/grafik/spielfigur-orange.gif");
        JLabel label1 = new JLabel(icon);
        JPanel p = new JPanel();
        label1.setLocation(10,10);
        label1.setSize(50,50);
        p.add(label1);
        
        Checkbox chk1 = new Checkbox("1 Spieler");
        chk1.setLocation(120,100);
        chk1.setSize(100,20);
        add(chk1);
        
        Label nameLabel1 = new Label ("Spieler 1:");
        nameLabel1.setLocation(220,100);
        nameLabel1.setSize(120,20);
        add(nameLabel1);
        
        TextField txt2 = new TextField(10);
        txt2.setLocation(340,100);
        txt2.setSize(100,20);
        add(txt2);
        
        Checkbox chk2 = new Checkbox("2 Spieler");
        chk2.setLocation(120,150);
        chk2.setSize(100,20);
        add(chk2);
        
        Label nameLabel2 = new Label ("Spieler 1:");
        nameLabel2.setLocation(220,150);
        nameLabel2.setSize(100,20);
        add(nameLabel2);
        
        TextField txt3 = new TextField(10);
        txt3.setLocation(340,150);
        txt3.setSize(100,20);
        add(txt3);
        
        Label nameLabel3 = new Label ("Spieler 2:");
        nameLabel3.setLocation(220,180);
        nameLabel3.setSize(100,20);
        add(nameLabel3);
        
        TextField txt4 = new TextField(10);
        txt4.setLocation(340,180);
        txt4.setSize(100,20);
        add(txt4);       
        
        Checkbox chk3 = new Checkbox("3 Spieler");
        chk3.setLocation(120,240);
        chk3.setSize(100,20);
        add(chk3);
        
        Label nameLabel4 = new Label ("Spieler 1:");
        nameLabel4.setLocation(220,240);
        nameLabel4.setSize(100,20);
        add(nameLabel4);
        
        TextField txt5 = new TextField(10);
        txt5.setLocation(340,240);
        txt5.setSize(100,20);
        add(txt5);
        
        Label nameLabel5 = new Label ("Spieler 2:");
        nameLabel5.setLocation(220,270);
        nameLabel5.setSize(100,20);
        add(nameLabel5);
        
        TextField txt6 = new TextField(10);
        txt6.setLocation(340,270);
        txt6.setSize(100,20);
        add(txt6); 
        
        Label nameLabel6 = new Label ("Spieler 3:");
        nameLabel6.setLocation(220,300);
        nameLabel6.setSize(100,20);
        add(nameLabel6);
        
        TextField txt7 = new TextField(10);
        txt7.setLocation(340,300);
        txt7.setSize(100,20);
        add(txt7); 
        
        JPanel panKnoepfe = new JPanel();
        JButton btnNeu = new JButton("Bestätigen");
        panKnoepfe.add(btnNeu);
        setLayout(new BorderLayout());
        add(panKnoepfe, BorderLayout.SOUTH);     
       
        pack();
        addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent evt){
            System.exit(0);
        }
        });
            }
        
    public static void main(String[] args) {
        
        Eingabe window=new Eingabe();
        window.setTitle("Spiel");
        window.setSize(600,400);
        window.setVisible(true);
        window.setResizable(true);
        
    }
      
    }
 
Du kannst ja mal folgendes machen:
Java:
System.out.println(this.getClass().getResource("/test/grafik/spielfigur-orange.gif"));

Was wird ausgegeben?
Ciao
DosCoder

Edit: Ich habe mir grad naochmal deinen Code angesehen. Wenn du die setLocation-Funktion de sLabels verwenden willst, musst du p.setLayout(null); aufrufen, sonst wird die Größe und Postion des Labels, welches auf das Panel gesetzt wird, ignoriert.
 
Zuletzt bearbeitet:
Erstmal ein großes Danke für eure Hilfe!!

Also ich habe das Layout mal null gesetzt, aber dann passiert auch nichts....

Die System.out Funktion gibt mir leider auch nichts aus... :(
 
Sorry, aber da gehöhrt hinten eine 2. Klammer hin.
1. Existiert auf deinem PC der Pfad "..\test\grafik"?
2. Liegt dort auch dein Bild?
3. Nur mal so aus Interesse: Welche IDE benutzt du?
4. Wenn du uns danken willst, dann gib uns Rennomees
5. Dies ist das Java-Forum, also benutze Java-Tags: [ code=java ] [ /code ]

Ciao
DosCoder
 
Zurück