Bilder überlappen

J

Java123???

Gast
Guten morgen,
ich habe mir ein paar JLabels erstellt, wo ich mit setIcon Bilder anzeigen lasse.
Mit addGap habe ich bisher die Positionierung angepasst:
Java:
.addGroup([..])
.addComponent(component)
.addGap(0,0,0)
Allerdings ist es nicht möglich dort negativ Werte anzugeben.

Wie kann ich dann die Bilder überlappen lassen?
 

Michael...

Top Contributor
Eine Möglichkeit wäre die Bilder direkt auf der Komponente in gewünschter Position zeichnen zulassen.
Wenn der Umweg über JLabel beleiben soll, könnte man dem Container ein sogn. Null-Layout verpassen, damit könnte man die Labels beliebig absolut positionieren.
 
J

Java123???

Gast
Ich hab es jetzt so probiert:

Java:
ImageIcon graphic = new ImageIcon(fileUrl);
        
graphic .paintIcon(this, getGraphics, 10, 10);

Ich glaube i-wo hab ich da noch ein Denkfehler. Ich bekomme zwar keine Fehlermeldung aber das Bild wird auch nicht angezeigt.
Wo ist der Fehler?

Mfg
 
J

Java123???

Gast
Java:
public class Oberflaeche extends javax.swing.JFrame {
   public Oberflaeche() {
      init();
   }
   private void init() {
      setDefaultCloseOperation(javax.swingWindowConstants.EXIT_ON_CLOSE);
      setMinimumSize(new javax.awt.Dimension(1000, 700));

      ImageIcon testIcon= Icons.getIcon("");
      testIcon.paintIcon(this, getGraphics(), 10, 10);
   }
}
So hier bekomme ich eine NullPointerException in der Zeile 10.
 

Blakh

Bekanntes Mitglied
Java:
Icons.getIcon("");

Was ist denn Icons? Und wieso markiert deine IDE da nix. Du hast gar keine Variable die so heißt und eine Klasse, welche so heißt, kenn ich nicht. Auf alle Fälle liefert es null zurück und testGraphic.point() kracht da natürlich.
 
Zuletzt bearbeitet:
J

Java123???

Gast
getIcon() ist eine statische Methode der Klasse Icons. Diese Methode gibt ein ImageIcon zurück. Auf jeden Fall glaub ich nicht dass hier der Fehler liegt, weil wenn ich:
Java:
ImageIcon testIcon = new ImageIcon(icon.gif);
benutze habe ich immer noch den gleichen Fehler.
 
J

Java123???

Gast
Sorry, wenn ich es vergessen hab zu erwähnen die Klasse Icons gibt es natürlich nicht, die habe ich selbst erstellt, aber siehe meinen Post hierfür, wenn ich diese nicht benutze habe ich den gleichen Fehler.
 

Blakh

Bekanntes Mitglied
Dann stimmt da meiner Meinung nach was mit dem Pfad nicht.

probier mal:

Java:
URL fileURL = getClass().getResource("icon.gif");
ImageIcon testIcon = new ImageIcon(fileURL);

Lege das Bild zu der Klassendatei, in welcher der Code ausgeführt wird.
 

Java123???

Mitglied
Jetzt hab ich es so probiert:
Java:
URL fileURL = getClass().getResource("icon.gif");
ImageIcon testIcon = new ImageIcon(fileURL);
Dann bekomme ich ne Nullpointer in der 2.Zeile
 

Java123???

Mitglied
Als ich es vorher mit JLabel gemacht habe und dann setIcon hat es ja funktioniert.
Ich konnte nur die Bilder nicht überlappen lassen, also muss der Pfad doch richtig sein.

Klasse:
JavaProjects/src/GUI/Oberflaeche.java
Bild:
JavaProjects/icon.gif
 

Blakh

Bekanntes Mitglied
Nein ist er nicht.

Java:
URL fileURL = getClass().getResource("icon.gif");

Das funtkioniert meines Wissens in der Form nur, wenn das Bild und die Klassendatei im selben Ordner liegen. Mach as mal so und probier es aus.

Pfadangabe .getResource
 
Zuletzt bearbeitet:

Java123???

Mitglied
Ok, du hattest Recht.

Auf jeden Fall hab ich jetzt wieder den Nullpointer wo ich ihn vorher auch hatte in Zeile 3

Hier nochmal der Code:
Java:
URL fileURL = getClass().getResource("icon.gif");
ImageIcon testIcon = new ImageIcon(fileURL);
testIcon.paintIcon(this, getGraphics(), 10, 10);
 

Blakh

Bekanntes Mitglied
Lass dir doch mal die URL ausgeben, überprüfe per:

Java:
if (testIcon == null)

ob das Image da ist. Dann bleibt ja nur noch das getGraphics noch nichts zurückliefert. Deshalb verwendet man immer Folgendes:

Java:
@Override
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		testGraphic.paintIcon(this, g, 0, 0);

	}

Diese Methode wird beim Zeichnen der Komponente aufgerufen und du kannst das auch mit repaint(), veranlassen.
 

Java123???

Mitglied
Also scheint wohl am Graphics zu liegen.

Hier nochmal der komplette Quellcode (wo soll ich da die Methode überschreiben? Irgendwie klappt das nämlich bei mir nicht):

Java:
package GUI;

import java.net.URL;
import javax.swing.ImageIcon;

public class Oberflaeche extends javax.swing.JFrame {
    public Oberflaeche() {
        init();
    }

    private void init() {
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(1000, 700));

        URL fileURL = getClass().getResource("icon.gif");
        ImageIcon testIcon = new ImageIcon(fileURL);
        if(testIcon == null) {
            System.out.println("testIcon - null");
        }else{
            System.out.println("testIcon - " + testIcon.toString());
        }
        testIcon.paintIcon(this, getGraphics(), 10, 10);
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Oberflaeche o = new Oberflaeche();
                o.setVisible(true);
            }
        });
    }
}
Ausgabe:
testIcon - file:/D:/JavaProjects/Connect/src/GUI/icon.gif
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GUI.Oberflaeche.init(Oberflaeche.java:23)​
 

Blakh

Bekanntes Mitglied
Musst ein Zeichenpanel aufs Frame setzen ... ich vergas :) (JPanel)

Java:
package PaintTest;
 
import java.awt.Graphics;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
@SuppressWarnings("serial")
public class Oberflaeche extends JFrame {
 
    private ImageIcon testIcon;
 
    public Oberflaeche() {
        init();
    }
 
    private void init() {
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(1000, 700));
 
        URL fileURL = getClass().getResource("icon.gif");
        testIcon = new ImageIcon(fileURL);
        add(new MyPanel());
    }
 
  
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Oberflaeche o = new Oberflaeche();
                o.setVisible(true);
            }
        });
    }
    
	/****************************************************************
	 * Inner class
	 ****************************************************************/
    
    class MyPanel extends JPanel {
    	
    	  @Override
    	    protected void paintComponent(Graphics g) {
    	        super.paintComponent(g);
    	        
    	        testIcon.paintIcon(this, g, 10, 10);
    	 
    	    }
    }
}
 
Zuletzt bearbeitet:

Java123???

Mitglied
Perfekt, danke es funktioniert.
Habe meinen Quellcode jetzt so angepasst, wie du es gepostet hast und jetzt kann ich die Bilder sogar überlappen lassen.

Vielen Dank Blakh
Mfg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
F Bilder zu ausführbarer Jar-Datei hinzufügen AWT, Swing, JavaFX & SWT 5
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
M Swing Bilder in Swing anzeigen AWT, Swing, JavaFX & SWT 9
S AffineTranformation Bilder verschwinden von Anzeige bei Pan, Zoom AWT, Swing, JavaFX & SWT 6
G Bilder in javafx Project AWT, Swing, JavaFX & SWT 11
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
N eclipse Java, bilder benutzten Funktioniert nicht AWT, Swing, JavaFX & SWT 6
Kirby.exe Bilder in GUI einfügen AWT, Swing, JavaFX & SWT 8
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
L Bilder werden in exportierter Datei nicht geladen AWT, Swing, JavaFX & SWT 6
C Bilder so einbinden, dass sie sich ändern AWT, Swing, JavaFX & SWT 6
J Bilder aus dem SceneBuilder werden in der Jar nicht dargestellt AWT, Swing, JavaFX & SWT 4
TheWhiteShadow JavaFX Bilder werden ungewollt Skaliert AWT, Swing, JavaFX & SWT 1
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
J Bilder proportional verkleiner AWT, Swing, JavaFX & SWT 12
E Bilder skalieren AWT, Swing, JavaFX & SWT 4
DaCrazyJavaExpert Swing Bilder überlagern AWT, Swing, JavaFX & SWT 19
A Bilder als Hintergrund AWT, Swing, JavaFX & SWT 2
@SupressWarnings() JavaFX Bilder in executable jar laden AWT, Swing, JavaFX & SWT 5
Sugan JavaFX Bilder drucken AWT, Swing, JavaFX & SWT 0
K JPanel Bilder bei Windows nicht darstellbar AWT, Swing, JavaFX & SWT 6
Sugan Java FX Verzeichnisüberwachung -> Bilder auf GUI anzeigen AWT, Swing, JavaFX & SWT 4
E AWT Bilder als "Array" abspeichern. AWT, Swing, JavaFX & SWT 4
MrSnake Bilder aus Unterordner einfügen AWT, Swing, JavaFX & SWT 2
I 2D-Grafik Bilder Eingefügt, button jetzt im Hintergrund AWT, Swing, JavaFX & SWT 2
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
A Mit dem Scene Builder eine Collage erstellen (Bilder beziehen aus Flickr) AWT, Swing, JavaFX & SWT 1
thet1983 JTable Bilder AWT, Swing, JavaFX & SWT 6
GenerationLost Bilder an bestimmten Platz einfügen/Objekte visualisieren AWT, Swing, JavaFX & SWT 1
F Bilder in jFrame einfügen AWT, Swing, JavaFX & SWT 3
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
I Swing Bilder werden nach Export nicht angezeigt AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Bilder anzeigen AWT, Swing, JavaFX & SWT 4
J Bilder auf JPanel (im JScrollPane) nacheinander laden AWT, Swing, JavaFX & SWT 0
vodkaz JFrame,Bilder und Zeitverzögerung AWT, Swing, JavaFX & SWT 2
A Swing Bilder werden nicht angezeigt AWT, Swing, JavaFX & SWT 3
I SWT Bilder, bzw. ein einzelnes Bild AWT, Swing, JavaFX & SWT 6
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
Xbody 2D-Grafik JavaFX Bilder transformieren AWT, Swing, JavaFX & SWT 2
C 2D-Grafik Steganographie - Verschlüsselung von Dateien in Bildern - Bilder zeigen schwarze Rechtecke AWT, Swing, JavaFX & SWT 13
P Durch Bilder Scrollen AWT, Swing, JavaFX & SWT 2
F Bilder werden nicht in's Array geladen AWT, Swing, JavaFX & SWT 4
K Bilder übereinanderlegen AWT, Swing, JavaFX & SWT 11
windl Querstreifen beim Bilder malen und anpassen an neue CPU AWT, Swing, JavaFX & SWT 12
V Fertige Komponente zum Anzeigen mehrerer Bilder AWT, Swing, JavaFX & SWT 5
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
J Bilder in ausführbare jar einbinden AWT, Swing, JavaFX & SWT 7
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
H 2D-Grafik Bilder laden ist nicht zuverlässig AWT, Swing, JavaFX & SWT 3
F Bilder ineinander kopieren AWT, Swing, JavaFX & SWT 3
P Bilder verkleinern AWT, Swing, JavaFX & SWT 2
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
Furtano AWT Skalierung mehrerer Bilder / Histogramme im Fenster AWT, Swing, JavaFX & SWT 4
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
C Zwei Bilder übereinander legen AWT, Swing, JavaFX & SWT 1
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
S Flickr Bilder in Gui Oberfläche AWT, Swing, JavaFX & SWT 21
L Bilder im JPanel als Hintergrund - Swing AWT, Swing, JavaFX & SWT 2
K Bilder nacheinander einfügen AWT, Swing, JavaFX & SWT 3
H Bilder auf Buttons per Klick tauschen ( Puzzle ) AWT, Swing, JavaFX & SWT 8
H Bilder in Array zufällig anordnen AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Viele Bilder zu einem Video AWT, Swing, JavaFX & SWT 3
J Vergleicher zweier Bilder AWT, Swing, JavaFX & SWT 2
C zwei Bilder nacheinander anzeigen AWT, Swing, JavaFX & SWT 2
L Swing Bilder über andere Bilder laden AWT, Swing, JavaFX & SWT 3
P Bilder werden nach Änderung nicht angezeigt AWT, Swing, JavaFX & SWT 15
3 2D-Grafik Rechtecke auf Bilder legen und auslesen AWT, Swing, JavaFX & SWT 4
M Mehrere Bilder auf einmal anzeigen AWT, Swing, JavaFX & SWT 9
P Swing html mit bilder drin AWT, Swing, JavaFX & SWT 12
F Nicht alle Bilder werden angezeigt AWT, Swing, JavaFX & SWT 2
E Bilder auf JFrame AWT, Swing, JavaFX & SWT 7
R Bilder über URL einfügen AWT, Swing, JavaFX & SWT 4
F Applet zeigt Bilder nicht an AWT, Swing, JavaFX & SWT 5
M FileChooser Bilder auswählen AWT, Swing, JavaFX & SWT 8
G Swing Bilder zeichnen AWT, Swing, JavaFX & SWT 28
L Swing Bilder im Icons-Ordner AWT, Swing, JavaFX & SWT 4
U Bilder in Jar werden nicht gefunden AWT, Swing, JavaFX & SWT 5
S SWT Canvas: Flackernde Bilder AWT, Swing, JavaFX & SWT 3
A Bilder vergleichen AWT, Swing, JavaFX & SWT 4
E Swing JTextPane Inhalt(Text und Bilder) als HTML text bekommen AWT, Swing, JavaFX & SWT 3
E AWT Bilder und Java AWT, Swing, JavaFX & SWT 11
P Bilder einfügen AWT, Swing, JavaFX & SWT 4
D Swing JEditorPane mit HTML aber ohne Bilder AWT, Swing, JavaFX & SWT 3
S Swing Kleine Bilder in Panel einfügen AWT, Swing, JavaFX & SWT 13
A AWT Bilder als Link verwenden? AWT, Swing, JavaFX & SWT 11
T SWT Wie Bilder aus JAR-Dateien einbinden? AWT, Swing, JavaFX & SWT 12
S Bilder aus der Google Book Search API auslesen AWT, Swing, JavaFX & SWT 3
J Bilder in JScrollPane zentrieren AWT, Swing, JavaFX & SWT 5
M Bilder in einem Textfeld darstellen AWT, Swing, JavaFX & SWT 2
N Bilder aus Infos generieren lassen. Welches Framework? AWT, Swing, JavaFX & SWT 8
A SWT Bilder resizen AWT, Swing, JavaFX & SWT 9
A Swing Bilder in JFrame einfügen AWT, Swing, JavaFX & SWT 2
Cloud Einige Bilder werden nicht geladen AWT, Swing, JavaFX & SWT 11
A Java Print: Bilder werden zu groß ausgedruckt AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben