2D-Grafik Bilder in GridLayout einfügen

Karuka

Mitglied
Hallo Leute!

Ich hab mich jetz schon längere zeit allein daran Versucht mein Problem zu lösen (mit hilfe von google, sufu hier im Forum, etc...) aber ohne erfolg..

Jedenfalls kommen wir zum eigentichen Problem.. mein Ziel war es mehrere Bilder einzulesen und angeordnet auszugeben. Meine einzigen Ergebnisse waren, dass ich die Bilder nur übereinanderliegend ausgebe.
Um dieses Problem zu lösen bin ich nach etwas längerer Suche auf das GridLayout gestoßen, welches vielversprechend klang.. Jedoch scheitere ich daran, die Bilder in das GridLayout einzufügen und weiß auch nichtmehr weiter.

Hoffentlich kann mir jemand helfen, den die brauche ich dringend... :(

Hier der Quellcode:
Java:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ImageTest {

  public static void main(String[] args) {
    ImagePanel bild = new ImagePanel(new ImageIcon("bild.png").getImage());
    ImagePanel bild2 = new ImagePanel(new ImageIcon("bild2.png").getImage());
    
    JFrame frame = new JFrame();
    frame.getContentPane().add(bild);
    frame.getContentPane().add(bild2);
    frame.pack();
    frame.setVisible(true);
    

  }
}

class ImagePanel extends JPanel {

  private Image img;

  public ImagePanel(String img) {
    this(new ImageIcon(img).getImage());
  }

  public ImagePanel(Image img) {
    this.img = img;
    Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
    setPreferredSize(size);
    setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
    setLayout(new GridLayout(0,2));
         add(bild);
         add(bild2);

  }

  public void paintComponent(Graphics g) {
    g.drawImage(img, 0, 0, null);
  }
}
 
G

Gast2

Gast
Dein Code ist leicht unstrukturiert...
Was soll dein Klasse ImagePanel machen? Genau ein Bild darstellen oder mehrere Bilder darstellen?
Innerhalb der Klasse ImagePanel gibts keine Variablen bild1 oder bild2, was genau willst du da machen?

Java:
    frame.getContentPane().add(bild);
    frame.getContentPane().add(bild2);
Dein Frame hat von Haus aus erstmal nen BorderLayout. Durch die beiden add's wird die erste Komponente überschrieben.
 

Fab1

Top Contributor
Was spricht gegen ein JLabel mit ImageIcon?
Java:
public class Test {
 
  public static void main(String[] args) {
    JLabel bild = new JLabel(new ImageIcon("C:/Bilder/Apfel.jpg"));
    JLabel bild2 = new JLabel(new ImageIcon("C:/Bilder/Apfel.jpg"));
    
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    frame.add(panel);
    
    panel.setLayout(new GridLayout(0,2));
    panel.add(bild);
    panel.add(bild2);
    
    frame.setVisible(true);
    frame.pack();
  }
}

So in der Art, wolltest du es ja haben nehm ich mal an oder?

[EDIT]Was mir gerade noch aufgefallen ist, folgende Methode dient zum schließen der Anwendung wenn du auf das "x" drückst.

Java:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Ansonsten wunderst du dich nämlich warum dein PC immer langsamer wird, oder du im Debugmodus 100 Instanzen deines Programms am laufen hat, obwohl du sie ja geschlossen hast. Außer natürlich du beendest die Anwendung immer mit dem roten Terminate Symbol in Eclipse.[/EDIT]
 

Karuka

Mitglied
Wie EikeB schon sagte, war mein Quellcode etwas sehr unstrukturiert und durch Fab1 bin ich auf eine neue Idee gekommen und habe auch das ganze nocheinmal neu angefangen, diesesmal auch Strukturierter ^^"
Vielen dank euch beiden.

Jedenfalls dadurch das ich neu angefangen habe bin ich auch einen guten Schritt weiter.
Jetzt gibt es aber ein neues Problem, nämlich die Bilder werden zwar anscheinend eingefügt aber, zusammen mit den beiden Buttons die ich als Test dort eingebaut habe, mir nur als "leere" Spalte des Layouts angezeigt anstelle der beiden Bilder die dort sein sollten.

Hier der neue Quellcode:
Java:
 import java.awt.*;
 import java.io.*;
 import javax.imageio.ImageIO;
 import javax.swing.*;

 public class Layout extends JFrame {
  
     public Layout() {
       setLayout(new GridLayout(2,2));

       JButton button1 = new JButton("button 1");
       add(button1);
         
       JButton button2 = new JButton("button 2");
       add(button2);
     }
     
     public static void main(String[] args){
       Layout derp = new Layout();
       JFrame frame = new JFrame();
       JPanel panel1 = new JPanel();
       JPanel panel2 = new JPanel();
       JLabel bild1 = new JLabel(new ImageIcon("bilder/remisaku.png"));
       JLabel bild2 = new JLabel(new ImageIcon("bilder/patchy.png"));

       panel1.add(bild1);
       panel2.add(bild2);
       
       derp.add(panel1);
       derp.add(panel2);
       derp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       derp.setVisible(true);
       derp.pack();
       derp.setTitle("herp");
     }
 }
 

FaxXer

Mitglied
Ich versteh dein Problem jetzt nicht ganz.
Bei mir zeigt es alles an wie es sein soll. Oben zwei Buttons und unten zwei Bilder?

Mach doch mal ein Screenshot von deinem Fenster.
 

Karuka

Mitglied
Das Fenster sieht wie folgt aus:

2ex61ys_th.jpg


Dort wo der rote Rahmen ist sollten eigentlich die beiden Bilder sein aber ich bekomme nur die graue Standartfläche vom Fenster.
 

Fab1

Top Contributor
Wo liegen denn die Bilder genau? Ansonsten kannst du ja mal versuchen den absoluten Pfad anzugeben.

Java:
 JLabel bild = new JLabel(new ImageIcon("Apfel.jpg"));// wenn das Bild direkt im Ordner "src" liegt
    JLabel bild2 = new JLabel(new ImageIcon("/bilder/Apfel.jpg")); // wenn das bild im Ordner "src\Bilder" liegt
 
Zuletzt bearbeitet:

Karuka

Mitglied
Danke! der Dateipfad war nicht ganz richtig ( ein / vergessen). Es sind dann doch immer die kleinen Unachtsamkeitsfehler die einem das Leben schwer machen :D

Mein Problem hat sich gelöst und ich kann Bilder im GridLayout einfügen, danke an allen teilhabenden!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
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
J Bilder in ausführbare jar einbinden AWT, Swing, JavaFX & SWT 7
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
J Bilder überlappen AWT, Swing, JavaFX & SWT 18
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