tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
211
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    HarryXVI HarryXVI ist offline Mitglied Gold
    Registriert seit
    Apr 2008
    Beiträge
    108
    Hallo,
    ich möchte auf meinem Frame diverse Bitmap-Grafiken anzeigen lassen. Grundsätzlich erschien es mir sinnvoll, dies mit JLabels zu realiseren. (Wenn hier schon der Fehler liegt, bitte Bescheid sagen).

    Code :
    1
    2
    3
    
    ImageIcon akt_bild = new ImageIcon(verzeichnis + "\\Kartenbilder\\leer.bmp");
               jLabel1.setIcon(akt_bild);
               this.Repaint()

    Irgendwie wird das Bild nicht angezeigt, sondern nur der "Text" des Labels. "this" bezieht sich auf ein Objekt vom Typ JFrame.

    Was läuft falsch?
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,
    also wenn ich das bei mir teste, dann funktioniert das einwandfrei. Ich bekomme sowohl den Text als auch das Icon angezeigt.

    Mein Code:
    Code java:
    1
    2
    
    JLabel label = new JLabel("Test");
    label.setIcon(new ImageIcon("pfad/bild.jpg"));

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    SE Tutorials.de Gastzugang
    Ich würde hier auf zwei Dinge testen :
    1) falscher Pfad - zwischen absolutem System-Pfad und relativem JAR-Pfad gibt es Unterschiede
    2) Datei nicht vorhanden - du hast die Anwendung mit einer IDE entwickelt und beim Export einen Fehler gemacht.
     

  4. #4
    HarryXVI HarryXVI ist offline Mitglied Gold
    Registriert seit
    Apr 2008
    Beiträge
    108
    Ich habe es jetzt einmal mit .png-Dateien probiert und das Laden der Grafiken klappt. Es tut sich jetzt ein anderes Problem auf. Die 6 jLabels, in die die Grafiken geladen werden, sind laut NetBeans-Designeditor nebeneinander angeordnet, sodass obere und untere Kante parallel sind. Nach dem Laden sind jedoch immer das 3. und 5. Label nach unten versetzt. Was könnte die Ursache dafür sein?
     

  5. #5
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Vielleicht kannst du mal ein wenig Code posten, damit wir das herausfinden können.
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  6. #6
    HarryXVI HarryXVI ist offline Mitglied Gold
    Registriert seit
    Apr 2008
    Beiträge
    108
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
     //Beim Programmstart
            Labels.put("lb1", jLabel1);
            Labels.put("lb2", jLabel2);
            Labels.put("lb3", jLabel3);
            Labels.put("lb4", jLabel4);
            Labels.put("lb5", jLabel5);
            Labels.put("lb6", jLabel6);
            Labels.put("lb7", jLabel7);
            
            for (int i=1; i<8; i++) {
                JLabel akt_lb = Labels.get("lb"+i);
                akt_lb.setText("");
            }
     
           // wenn es dann so weit ist
           // erst alle Label weiß machen
            for (int i=1; i<7; i++) {
                    ImageIcon akt_bild = new ImageIcon(verzeichnis + "\\Kartenbilder\\leer.png");
                    akt_lb = Labels.get("lb"+i);
                    akt_lb.setIcon(akt_bild);
                    }
            ImageIcon imComp = new ImageIcon(verzeichnis + "\\Kartenbilder\\leer.png", "");
            akt_lb = Labels.get("lb7");
            akt_lb.setIcon(imComp);
                   
            // .png-Grafiken laden
            for (int i=1; i<7; i++) {
                    ImageIcon akt_bild = new ImageIcon(pfad, "");
                    akt_lb = Labels.get("lb"+i);
                    akt_lb.setIcon(akt_bild);
                    }

    Zur Erklärung: "Labels" ist eine HashMap, die alle JLabels verwalten soll.
     

  7. #7
    SE Tutorials.de Gastzugang
    Ich würde sagen das dir der LayoutManager in die Quere kommt. Da NetBeans sicher nur mit den JLabels selbst und ohne die Grafiken rechnet wird es dir das ganze einfach falsch anzeigen.
     

Ähnliche Themen

  1. mit jQuery von einem Frame Elemente in anderen Frame beschreiben
    Von deluxeondecks im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 04.01.11, 14:16
  2. Wie öffne ich aus einem Frame einen 2ten Frame
    Von Eklaf im Forum Java Grundlagen
    Antworten: 8
    Letzter Beitrag: 14.07.10, 12:26
  3. Div in einem Frame auslesen, aus einem anderen Frame
    Von AktivArne im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 13.05.08, 22:39
  4. Variable aus einem Frame in einem Frame deklarieren
    Von DrEvil im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 09.10.04, 23:48
  5. Grafik üder einem Frame
    Von Spakkn im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 14.07.04, 00:23